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

kwnds

[Access] C#

1 mensagem neste tópico

Preciso de criar uma base de dados access e trabalhar em c#.

Arranjaram-me este codigo para me orientar:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace Tlp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {

               //alunos
                listBox1.Items.Clear();
                string strConn = "Provider = Microsoft.jet.OleDb.4.0; Data Source = 04-019.mdb;";
                OleDbConnection Conn = new OleDbConnection(strConn);
                OleDbDataAdapter da = new OleDbDataAdapter("Select * from alunos", Conn);
                DataSet ds = new DataSet();
                da.Fill(ds, "alunos");
                Conn.Close();
                foreach (DataRow dr in ds.Tables["alunos"].Rows)
                {
                    listBox1.Items.Add(dr["idaluno"].ToString() + "-" + dr["nome"].ToString());
                }

                if (listBox1.Items.Count >= 0)
                    listBox1.SelectedIndex = 0;

                //localidades
                comboBox1.Items.Clear();
                OleDbDataAdapter da1 = new OleDbDataAdapter("Select * from localidades", Conn);
                DataSet ds1 = new DataSet();
                da1.Fill(ds1, "localidades");
                Conn.Close();
                foreach (DataRow dr in ds1.Tables["localidades"].Rows)
                {
                    comboBox1.Items.Add(dr["cod_local"].ToString() + "-" + dr["nome_localidade"].ToString());
                }

                if (comboBox1.Items.Count >= 0)
                    comboBox1.SelectedIndex = 0;
            }
            catch (Exception x)
            {
                MessageBox.Show(x.Message);
            }
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
            string s = listBox1.SelectedItem.ToString();
            string[] str = s.Split('-');
            int ID = Convert.ToInt32(str[0]);
            string strConn = "Provider = Microsoft.jet.OleDb.4.0; Data Source =04-019.mdb;";
            OleDbConnection Conn = new OleDbConnection(strConn);
            OleDbDataAdapter da = new OleDbDataAdapter("Select * from alunos where idaluno="+ID, Conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "alunoInfo");
            Conn.Close();
            int idloc = 0;
            foreach (DataRow dr in ds.Tables["alunoInfo"].Rows)
            {
                textBox1.Text = dr["alunoID"].ToString();
                textBox2.Text = dr["nome"].ToString();
                textBox3.Text = dr["idade"].ToString();
            }

            string strConn2 = "Provider = Microsoft.jet.OleDb.4.0; Data Source =04-019.mdb;";
            OleDbConnection Conn2 = new OleDbConnection(strConn2);
            OleDbDataAdapter da2 = new OleDbDataAdapter("Select * from localidades where cod_local="+idloc, Conn);
            DataSet ds2 = new DataSet();
            da2.Fill(ds, "localidades");
            Conn.Close();
            foreach (DataRow dr in ds.Tables["localidades"].Rows)
            {
                comboBox1.Text = idloc.ToString()+"-"+dr["nome_localidade"].ToString();
            }
            }
            catch (Exception x)
            {
                MessageBox.Show(x.Message);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();

            if(comboBox1.Items.Count>0)
             comboBox1.SelectedIndex = 0;
            }
            catch (Exception x)
            {
                MessageBox.Show(x.Message);
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
            string s = comboBox1.Text;
            string[] str = s.Split('-');
            int id = Convert.ToInt32(str[0]);
            string strConn = "Provider = Microsoft.jet.OleDb.4.0; Data Source = 04-019.mdb;";
            OleDbConnection Conn = new OleDbConnection(strConn);
            OleDbDataAdapter da = new OleDbDataAdapter("insert into alunos(nome,idade,cod_local) values ('" + textBox2.Text + "'," + textBox3.Text + ", " + id + " )", Conn);
            DataSet ds = new DataSet();
            da.Fill(ds, "alunos");
            Conn.Close();
           
            //actualizar
            listBox1.Items.Clear();
            string strConn1 = "Provider = Microsoft.jet.OleDb.4.0; Data Source = 04-019.mdb;";
            OleDbConnection Conn1 = new OleDbConnection(strConn1);
            OleDbDataAdapter da1 = new OleDbDataAdapter("Select * from alunos", Conn1);
            DataSet ds1 = new DataSet();
            da1.Fill(ds1, "alunos");
            Conn1.Close();
            foreach (DataRow dr in ds1.Tables["alunos"].Rows)
            {
                listBox1.Items.Add(dr["idaluno"].ToString() + "-" + dr["nome"].ToString());
            }

            if (listBox1.Items.Count >= 0)
                listBox1.SelectedIndex = 0;
        }
        catch (Exception x)
        {
            MessageBox.Show(x.Message);
        }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            try
            {
            string s = listBox1.Text.ToString();            
            string[] str = s.Split('-');
            int id = Convert.ToInt32(str[0]);

            string s1 = comboBox1.Text;
            string[] str1 = s1.Split('-');
            int cod_loc = Convert.ToInt32(str1[0]);
            string strConn = "Provider = Microsoft.jet.OleDb.4.0; Data Source = 04-019.mdb;";
            OleDbConnection Conn = new OleDbConnection(strConn);
            OleDbDataAdapter da = new OleDbDataAdapter("UPDATE alunos SET nome = '"+textBox2.Text+"',idade="+textBox3.Text+",cod_local="+cod_loc+" WHERE idaluno="+id, Conn);

            DataSet ds = new DataSet();
            da.Fill(ds, "alunos");
            Conn.Close();

            //actualizar
            listBox1.Items.Clear();
            string strConn1 = "Provider = Microsoft.jet.OleDb.4.0; Data Source = 04-019.mdb;";
            OleDbConnection Conn1 = new OleDbConnection(strConn1);
            OleDbDataAdapter da1 = new OleDbDataAdapter("Select * from alunos", Conn1);
            DataSet ds1 = new DataSet();
            da1.Fill(ds1, "alunos");
            Conn1.Close();
            foreach (DataRow dr in ds1.Tables["alunos"].Rows)
            {
                listBox1.Items.Add(dr["idaluno"].ToString() + "-" + dr["nome"].ToString());
            }

            if (listBox1.Items.Count >= 0)
                listBox1.SelectedIndex = 0;
        }
        catch (Exception x)
        {
            MessageBox.Show(x.Message);
        }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
            string s = listBox1.Text.ToString();
            string[] str = s.Split('-');
            int id = Convert.ToInt32(str[0]);

            string strConn = "Provider = Microsoft.jet.OleDb.4.0; Data Source = 04-019.mdb;";
            OleDbConnection Conn = new OleDbConnection(strConn);
            OleDbDataAdapter da = new OleDbDataAdapter("delete* from alunos where idaluno=" + id, Conn);

            DataSet ds = new DataSet();
            da.Fill(ds, "alunos");
            Conn.Close();

            //actualizar
            listBox1.Items.Clear();
            string strConn1 = "Provider = Microsoft.jet.OleDb.4.0; Data Source = 04-019.mdb;";
            OleDbConnection Conn1 = new OleDbConnection(strConn1);
            OleDbDataAdapter da1 = new OleDbDataAdapter("Select * from alunos", Conn1);
            DataSet ds1 = new DataSet();
            da1.Fill(ds1, "alunos");
            Conn1.Close();
            foreach (DataRow dr in ds1.Tables["alunos"].Rows)
            {
                listBox1.Items.Add(dr["idaluno"].ToString() + "-" + dr["nome"].ToString());
            }

            if (listBox1.Items.Count >= 0)
                listBox1.SelectedIndex = 0;
        }
        catch (Exception x)
        {
            MessageBox.Show(x.Message);
        }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                //Define Variavel
                string strConn = "Provider = Microsoft.jet.OleDb.4.0; Data Source =04-019.mdb ;";
                //Abre a Conexão
                OleDbConnection Conn = new OleDbConnection(strConn);
                //Criar DataAdapter
                OleDbDataAdapter da = new OleDbDataAdapter("Select * From localidades", Conn);
                //Crie e Preenche o DataSet
                DataSet ds = new DataSet();
                da.Fill(ds, "localidades");
                //Fecha a Conexão
                Conn.Close();
                dataGrid1.DataSource = ds;
            }
            catch (Exception x)
            {
                MessageBox.Show(x.ToString());
            }
        }
    }
}

Mas eu desse codigo não consegui perceber nada.

As minhas dúvidas são:

-Como faço para criar funções no visual c#? (quando programava no turbo C eu usava void teste(){ //codigo  } e depois bastava fazer isto: void teste();  )

-Quais são os comandos para me connectar á base de dados?

-Como faço para copiar os valores de uma coluna da tabela X para a listbox, e quando selecionasse um, os valores dessa mesma linha eram copiados para textbox?

-Quais são os comandos para adicionar, actualizar e remover dados de uma tabela access?

0

Partilhar esta mensagem


Link 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