Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

RJ90

C# e Base de Dados

Mensagens Recomendadas

RJ90

Boas companheiros!

Estou neste segundo semestre com a cadeira de Base de Dados. Estou por aqui a inventar e estou com duvidas e andei por ai a procurar e sinceramente não encontrei nada que se pudesse ajudar.

O que quero fazer é adicionar dados numa base de dados, usando um interface criado em C#.

Passo a explicar:

106672interface.png

A utilizador insere os dados.

675247database.png

A base de dados onde será inserida a informação.

Eu queria era um empurrão, para começar a explorar a coisa. Talvez seja por não ter grande conhecimento a nivel de Base de Dados, mas tenho grande curiosidade em entender a coisa, portanto se me poderem ajudar ou orientar, agradecia.  :(

Cumprimentos, Ricardo Vieira.  :(


Samsung 700Z5A-S01PT Samsung Ominia W

ᥡ What Else? ᥡ

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
renafi

Queres então inserir dados na BD (em ACCESS) a partir do interface, certo?

Eu para já explico como fazes isso "por alto". Se precisares de mais pormenores, vai dizendo.

No código do Evento Click do Botão, tens de criar uma ligação à BD, com um objecto de Conexão.

Criar um objecto de Comando de execução. Com esse objecto, executas o Método ExecuteNonQuery e dentro o método envias em String o Insert na BD.


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RJ90

string cnStr, cmdText;
cnStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=o\caminho\do\.mdb;";
OleDbConnection cn = new OleDbConnection(cnStr);
OleDbCommand cmd;
OleDbDataReader dr;
DataTable dt = new DataTable("users");

Isto é que faz a ligação a base de dados, não é?

Depois terei de fazer com que consiga escrever na tabela, certo?


Samsung 700Z5A-S01PT Samsung Ominia W

ᥡ What Else? ᥡ

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
renafi

Estás lá perto... Com o objecto command, envias o Insert, e depois é só executar...

Experimenta isto.

string cnStr, cmdText;
cnStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=o\caminho\do\.mdb;";
OleDbConnection cn = new OleDbConnection(cnStr);
OleDbCommand cmd = new OleDbCommand("Insert into ....",cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();

PS: já agora como tinhas, com o DataReader, seria para recolher dados da BD


Oracle Certified Professional - AdministraçãoOracle Certified Professional - Pl/sqlMCPD - Microsoft Certified Professional DeveloperMCTS - Microsoft Certified Technology Specialist

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RJ90

Boas!

Arranjei um tempinho para voltar a atacar... mas não sei o que meter dentro dos (). São as textbox?

luz please.  :dontgetit:

private void button1_Click(object sender, EventArgs e)
        {
            string cnStr;
            cnStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=o\caminho\do\.mdb;";
            OleDbConnection cn = new OleDbConnection(cnStr);
            OleDbCommand cmd = new OleDbCommand("Insert into users Values(NÃO SEI O QUE METER AQUI);
            cn.Open();
            cmd.ExecuteNonQuery();
            cn.Close();
        }


Samsung 700Z5A-S01PT Samsung Ominia W

ᥡ What Else? ᥡ

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
RJ90

Bem, decidi fazer uma coisa mais "simples". (apenas inserir um campo)

private void button1_Click(object sender, EventArgs e)
        {
            string caminho;
            caminho = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Ricardo\Desktop\utilizador.mdb;";
            OleDbConnection a = new OleDbConnection(caminho);
            string dbcommand = "INSERT into utilizador (user) " + " VALUES ('" + textBox1.Text + "')";
            OleDbDataAdapter b = new OleDbDataAdapter(dbcommand, a); DataSet dset = new DataSet();
            b.Fill(dset);
        }

Mas:

iwg4qwsuynfqvezphtzh.png

Esta quase.  :cheesygrin:

Projecto: http://rapidshare.com/files/364679575/basedados.rar.html

Baderous não funciona o link.


Samsung 700Z5A-S01PT Samsung Ominia W

ᥡ What Else? ᥡ

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.