1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida em Visual Studio 2008

Discussão em 'Programação' iniciada por Fil__, 20 de Agosto de 2008. (Respostas: 3; Visualizações: 950)

  1. Fil__

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

    [​IMG]
     
  2. 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: 22 de Agosto de 2008
  3. Fil__

    Fil__ Power Member

    Ja revolvi o problema. Era bem simples e o codigo ficou impecavel. Bue curtinho. Thanks na mesma fanfarra
     
  4. alfinete

    alfinete Power Member

    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...
     

Partilhar esta Página