【发布时间】:2015-09-10 11:07:43
【问题描述】:
我之前问过一个关于使用 phpMyAdmin 在 datagridview 中更新数据的问题。您可以通过以下链接参考它-->Updating data in phpmyadmin part 1
代码运行良好,但现在的问题是,当我在 localhost 中检查更新的数据时,我看到的都是空字段。下面是我设计的vb的截图。我已经根据我的数据库标记了文本框。屏幕截图中的文本框设置为在运行我的 winform 时不可见。
究竟可能是什么问题?
@卡卡罗特 这是我最初拥有的
MysqlConn = 新的 MySqlConnection MysqlConn.ConnectionString = "服务器=本地主机;用户ID=服务器;密码=服务器;数据库=heavisa_database" Dim rabit As MySqlDataReader
MysqlConn.Open()
Dim pin As String
pin = "UPDATE heavisa_database.new_employee SET (Employee_ID = '" & txtemployeeid.Text & "', Nat_ID = '" & txtnatid.Text & "', First_Name = '" & txtfirstname.Text & "', Middle_Name = '" & txtmiddlename.Text & "', Surname = '" & txtsurname.Text & "', NSSF_No = '" & txtnssfno.Text & "', KRA_Pin = '" & txtkrapin.Text & "', NHIF_No = '" & txtnhifno.Text & "', Residence = '" & txtresidence.Text & "', Mobile_No = '" & txtmobileno.Text & "', Email = '" & txtemail.Text & "', Job_Group = '" & cbojobgroup.Text & "', Employment_Date = '" & dtpemploymentdate.Text & "') WHERE Employee_ID = '" & txtemployeeid1.Text & "'"
Try
con = New MySqlCommand(pin, MysqlConn)
rabit = con.ExecuteReader
MessageBox.Show("Update Successful.")
MysqlConn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Finally
MysqlConn.Dispose()
End Try
这是我目前拥有的(归功于一位 ekad 先生)
将针脚变暗为字符串 pin = "UPDATE heavisa_database.new_employee SET Employee_ID = @Employee_ID, Nat_ID = @Nat_ID, First_Name = @First_Name, Middle_Name = @Middle_Name, Surname = @Surname, NSSF_No = @NSSF_No, KRA_Pin = @KRA_Pin, NHIF_No = @NHIF_No, Residence = @Residence,Mobile_No = @Mobile_No,Email = @Email,Job_Group = @Job_Group,Employment_Date = @Employment_Date WHERE Employee_ID like '%{0}%'"
Try
Using MysqlConn As New MySqlConnection
MysqlConn.ConnectionString = "server=localhost;userid=server;password=server;database=heavisa_database"
MysqlConn.Open()
Using con As New MySqlCommand(pin, MysqlConn)
With con
con.Parameters.AddWithValue("@Employee_ID", txtemployeeid.Text)
con.Parameters.AddWithValue("@Nat_ID", txtnatid.Text)
con.Parameters.AddWithValue("@First_Name", txtfirstname.Text)
con.Parameters.AddWithValue("@Middle_Name", txtmiddlename.Text)
con.Parameters.AddWithValue("@Surname", txtsurname.Text)
con.Parameters.AddWithValue("@NSSF_No", txtnssfno.Text)
con.Parameters.AddWithValue("@KRA_Pin", txtkrapin.Text)
con.Parameters.AddWithValue("@NHIF_No", txtnhifno.Text)
con.Parameters.AddWithValue("@Residence", txtresidence.Text)
con.Parameters.AddWithValue("@Mobile_No", txtmobileno.Text)
con.Parameters.AddWithValue("@Email", txtemail.Text)
con.Parameters.AddWithValue("@Job_Group", cbojobgroup.Text)
con.Parameters.AddWithValue("@Employment_Date", dtpemploymentdate.Text)
End With
con.ExecuteNonQuery()
End Using
End Using
MessageBox.Show("Update Successful.")
MysqlConn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
End Try
第一个代码给了我一个错误(请参阅上面的链接)。第二个代码有效,但它清空了我的字段而不是更新。
【问题讨论】:
-
如何将数据准确绑定到datagridview?
-
绑定到mysqladmin中的数据库?你是这个意思吗?如果是这样,那么我认为我没有这样做,我也不知道该怎么做。
-
这里为什么需要datagridview?如果您只想输入这些文本框并使用输入的员工 ID 更新记录,我认为您不需要 datagridview。您可以将这些文本框放在 datagridview 之外并删除 datagridview。
-
这个想法是在该数据网格视图中显示所有员工的姓名。这就是我选择它的原因。
-
一旦我这样做了,我就可以对记录进行更改并将其更新到我的数据库中
标签: vb.net winforms datagridview phpmyadmin