【发布时间】:2016-06-23 12:12:56
【问题描述】:
首先,我在全局中创建了 DataSet 和 MySQLDataAdapter。然后在 Form_Load 事件中,我像这样查询我的所有表。
dS = New DataSet
dA = New MySqlDataAdapter(myCommand)
Using sqlConn As New MySqlConnection(connStr)
myCommand = New MySqlCommand("Select ID, DevCompanyName from developer_name_table; Select ID, DevType from development_type_table; Select ID, Mukim from mukim_table; Select ID, Daerah from daerah_table; Select ID, Negeri from negeri_table; Select * from project_record ORDER BY FloatNo desc limit 1", sqlConn)
sqlConn.Open()
MsgBox("Connection open.")
Dim myCB As New MySqlCommandBuilder(dA)
dA.SelectCommand = myCommand
dA.UpdateCommand = myCB.GetUpdateCommand
dA.InsertCommand = myCB.GetInsertCommand
dA.DeleteCommand = myCB.GetDeleteCommand
dA.Fill(dS)
dA.FillSchema(dS, SchemaType.Source)
dS.Tables(0).TableName = "developer_name_table"
dS.Tables(1).TableName = "development_type_table"
dS.Tables(2).TableName = "mukim_table"
dS.Tables(3).TableName = "daerah_table"
dS.Tables(4).TableName = "negeri_table"
dS.Tables(5).TableName = "project_record"
End Using
在我尝试像这样将新记录添加到数据库之前,一切正常。下面的添加记录代码在按钮单击事件下。首先我检查记录是否存在,然后像这样添加一个新行。
For Each r As DataRow In dS.Tables("project_record").Rows()
If r.Item("FloatNo") = TextBox1.Text.Trim() Then
MsgBox("Project exist. Please recheck.")
Exit Sub
End If
Next
SecurityAdd() 'This is just to fill None if field are empty.
Dim row = dS.Tables("project_record").NewRow()
row.Item("FloatNo") = TextBox1.Text.Trim()
row.Item("DevCompanyName") = ComboBox1.Text.Trim()
row.Item("DevType") = ComboBox2.Text.Trim()
row.Item("LotPt") = TextBox2.Text.Trim()
row.Item("Mukim") = ComboBox3.Text.Trim()
row.Item("Daerah") = ComboBox4.Text.Trim()
row.Item("Negeri") = ComboBox5.Text.Trim()
row.Item("TempReference") = RichTextBox1.Text.Trim()
row.Item("PermanentNo") = 0
row.Item("QuotationNo") = 0
row.Item("InvoiceNo") = 0
row.Item("Staff") = loggedUser.ToString() 'Just user ID.
dS.Tables("project_record").Rows.Add(row)
dA.Update(dS, "project_record")
更新后,我确定 DataSet 已更新,因为我第二次单击添加记录时,消息框告诉我记录存在。但是当我检查我的数据库时,没有新记录?我在这里做错了什么?
【问题讨论】:
-
`project _record' 内容是否显示在 DGV 中?
-
@Plutonix 不。
标签: mysql .net vb.net datatable datarow