2014-11-02 37 views
0

我工作的一個應用程序來創建,刪除表中的和更新記錄,使用一個DataGridView以顯示數據同時刪除操作......如何做好從數據庫的DataGridView

我可以創建並保存從文本框到sql表格行的新記錄...但我似乎有一個困難的時候,當涉及到更新和刪除記錄..

我想知道如何從DGV中刪除選定的行,並從表中刪除它們太。

和更新選定的行,加載列中的數據文本框和能夠更新並保存新的值...

請幫助我..這是它走到這一步..

代碼UPDATE按鈕:

Private Sub BtnModificar_Click(sender As Object, e As EventArgs) Handles BtnModificar.Click 
    Using con As New SqlConnection("Data Source=LUISFFER-PC\SQLEXPRESS;Initial Catalog=Mendez;Persist Security Info=True;User ID=Invitado;Password=123456;") 
     con.Open() 

     'The app is in spanish, so please feel free to translate it, or write it in english 

     If TxtNombre.Text = "" Then 
      'Si el nombre esta vacio, 
      MsgBox("No hay dato para modificar") 'There is no record to update 
      'se muestra este mensaje. 
      TxtCodigo.Focus() 
      'Y devuelve el foco a Txtcodigo. 
      Exit Sub 
     End If 
     BloquearTexBox(True) 
     BloquearBotones(False) 
     BtnGuardar.Enabled = True 
     BtnCancelar.Enabled = True 
     Panel2.Enabled = True 
     Modificar = True 
    End Using 
End Sub 

代碼爲DELETE按鈕:

Private Sub BtnEliminar_Click(sender As Object, e As EventArgs) Handles BtnEliminar.Click 
    If MessageBox.Show("Esta seguro que desea eliminar este registro", "Eliminar Registro", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then 
     Using conec As New SqlConnection("Data Source=LUISFFER-PC\SQLEXPRESS;Initial Catalog=Mendez;Persist Security Info=True;User ID=Invitado;Password=123456") 
      conec.Open() 

      Dim Comando As New SqlCommand("Delete From Alumnos Where [email protected]", conec) 

      Comando.Parameters.Add("@ID", SqlDbType.Int, 10).Value = Val(TxtCodigo.Text) 
      Comando.ExecuteNonQuery() 


      CargarDataGrid() 
      Exit Sub 
     End Using 
    Else 
     Exit Sub 
    End If 
End Sub 

回答

0

看起來它與您如何設置參數有關。請嘗試使用AddWithValue或用您的價值替換10。您正在將值從10更改爲您的文本框的值,但僅在參數已添加到該命令後。

方法1:AddWithValue

Comando.Parameters.AddWithValue("@ID", Integer.Parse(TxtCodigo.Text)) 

方法2:添加與值參數

Comando.Parameters.Add("@ID", SqlDbType.Int, Integer.Parse(TxtCodigo.Text)) 
相關問題