Duvida em Visual Studio 2008

Fil__

Power Member
Bem malta, depois de muito batalhar no VS 2003 com o SQL Express 2005 desisti. Demasiados stresses
Decidi mudar para o VS 2008. No entanto mantem-se a minha duvida. Na imagem esta descrito o que pretendo, ou seja, tenho uma grid com dados de uma tabela. Quero que ao carregar no botao Novo surja uma nova linha, ao carregar no botao Gravar seja gravada a linha e alterações e ao carregar no botao Apagar seja eliminada a linha.
Podem ajudar-me (agradeço a ajuda que o _freelancer_ me tem dado)?

1082857728.png
 
Bem malta, depois de muito batalhar no VS 2003 com o SQL Express 2005 desisti. Demasiados stresses
Decidi mudar para o VS 2008. No entanto mantem-se a minha duvida. Na imagem esta descrito o que pretendo, ou seja, tenho uma grid com dados de uma tabela. Quero que ao carregar no botao Novo surja uma nova linha, ao carregar no botao Gravar seja gravada a linha e alterações e ao carregar no botao Apagar seja eliminada a linha.
Podem ajudar-me (agradeço a ajuda que o _freelancer_ me tem dado)?

1082857728.png

vai ficar um bocado grande...:
exemplo das operações SQL, insert delete, update...mas a utilizadar listview's...este codigo faz parte de uma aplicação que estou a desenvolver (gestor de arquivos, basicamente para catalogar cd's e dvd's)

SqlConnection conn;

Código:
        public Form1()
        {
            InitializeComponent(); 
            conn = new SqlConnection("Data Source=localhost;Initial Catalog=myDataBase;Integrated Security=True");
            this.Select();
        }

        private void Select()
        {
            try
            {
                lvwResult.Columns.Clear();
                lvwResult.Items.Clear();

                conn.Open();
                txtSql.Text = "select * from Tipo_Arquivo";

                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = txtSql.Text;

                SqlDataReader dr = cmd.ExecuteReader();

                for (int i = 0; i < dr.FieldCount; i++)
                {
                    ColumnHeader ch = new ColumnHeader();
                    ch.Text = dr.GetName(i);
                    lvwResult.Columns.Add(ch);
                }

                ListViewItem itmX;

                while (dr.Read())
                {
                    itmX = new ListViewItem();
                    itmX.Text = dr.GetValue(0).ToString();

                    for (int i = 1; i < dr.FieldCount; i++)
                    {
                        itmX.SubItems.Add(dr.GetValue(i).ToString());
                    }
                    lvwResult.Items.Add(itmX);
                }
                dr.Close();
            }
            catch (SqlException ex)
            {
                MessageBox.Show("There was an error in executing the SQL." +
                        "\nError Message:" + ex.Message, "SQL");
            }
            finally
            {
                conn.Close();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //string cmd = "insert into Tipo_Arquivo values(@nome)";
            try
            {
                conn.Open();
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = "insert into Tipo_Arquivo values(@nome)";
                cmd.Parameters.Add("@nome", SqlDbType.NVarChar, 200);
                cmd.Parameters["@nome"].Value = textBox1.Text;
                cmd.ExecuteNonQuery();
            }
            catch (SqlException ex)
            {

            }
            finally
            {
                conn.Close();
                this.Select();
            }
        }


        private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                conn.Open();
                string cmd = "UPDATE Tipo_Arquivo SET nome = '" + textBox3.Text + "' WHERE IdTipo_Arquivo = " + Convert.ToInt32(textBox2.Text);
                SqlCommand comand = new SqlCommand(cmd, conn);
                comand.ExecuteScalar();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
                this.Select();
            }
            
        }

        private void button4_Click(object sender, EventArgs e)
        {
            try
            {
                conn.Open();
                string cmd = "DELETE Tipo_Arquivo WHERE IdTipo_Arquivo = " + Convert.ToInt32(textBox4.Text);
                SqlCommand comand = new SqlCommand(cmd, conn);
                comand.ExecuteScalar();
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                conn.Close();
                this.Select();
            }
        }


espero que ajude em algo...cumps.
 
Última edição pelo moderador:
conselho , se fizeres as store procedures (codigo sql ), no sqlserver fica teu code muito mais simples, mas não sei se o express dá para fazer isso...
 
Back
Topo