看板 Visual_Basic 關於我們 聯絡資訊
請教各位先進,我想寫一個可以更新資料庫的程式 程式碼如下: Private Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand Dim oledb1 As New SqlClient.SqlConnection Dim dataset1 As New DataSet Dim USQL As String Dim Ucmd As SqlCommand oledb1.ConnectionString = "data source=localhost; user id=sa;password=123;initial catalog=盤存stored;" oledb1.Open() If oledb1.State.Open Then USQL = "UPDATE 員工屬性 SET employee_num = @employee_num, employee_name = @employee_name, cypher = @cypher, jurisdiction = @jurisdiction WHERE (employee_num = @employee_num)" Dim dataadapter1 As SqlDataAdapter = New SqlDataAdapter(USQL, oledb1) Ucmd = New SqlClient.SqlCommand(USQL, oledb1) With Ucmd Ucmd.Parameters.Add("@employee_num", SqlDbType.Int) Ucmd.Parameters.Add("@employee_name", SqlDbType.Char, 10) Ucmd.Parameters.Add("@cypher", SqlDbType.Int) Ucmd.Parameters.Add("@jurisdiction", SqlDbType.Int) .Parameters("@employee_num").Value = CType(e.Item.Cells(1). Controls(0), TextBox).Text() .Parameters("@employee_name").Value = CType(e.Item.Cells(2). Controls(0), TextBox).Text .Parameters("@cypher").Value = CType(e.Item.Cells(3). Controls(0), TextBox).Text .Parameters("@jurisdiction").Value = CType(e.Item.Cells(4). Controls(0), TextBox).Text .ExecuteNonQuery() DataGrid1.DataKeyField = "@employee_num" dataadapter1.Fill(dataset1, "員工屬性") End With DataGrid1.DataSource = dataset1.Tables("員工屬性").DefaultView DataGrid1.DataBind() oledb1.Close() End If DataGrid1.EditItemIndex = -1 End Sub 我按更新button的時候,會出現"必須宣告純量變數 "@employee_num"。 "這個錯誤 請問是為什麼呢? 謝謝~~ (employee_num是我資料庫裡的PK,datakeyfield 我試過沒有@也不能...) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.52.164
kenimai:因為employee_num是PK... 08/19 00:31
kenimai:所以UPDATE中[employee_num = @employee_num,]是不需要的 08/19 00:33
blue18world:恩..我剛剛把employee_num刪掉..還是一樣耶.. 08/19 00:48
blue18world:我把dataadapter1.Fill(dataset1, "員工屬性")刪掉就 08/19 01:22
blue18world:好了耶...但怎是空白頁面 表格沒顯示(db更新有成功) 08/19 01:22