Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
RJ90

C# e Base de Dados

Recommended Posts

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? ᥡ

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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? ᥡ

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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? ᥡ

Share this post


Link to post
Share on other 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? ᥡ

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.