Mysql 无法获取插入记录的id
我正在使用VisualStudio2010将记录插入MySql中的表中。该表的设置如下所示:Mysql 无法获取插入记录的id,mysql,vb.net,Mysql,Vb.net,我正在使用VisualStudio2010将记录插入MySql中的表中。该表的设置如下所示: id-主键-自动递增 第一个-瓦尔查尔(45) last-varchar(45) 当我插入一条新记录时,我想知道该记录的id值 我将此查询添加到名为“insertQuery”的tableAdapter中。使用选择@@identity以获取id INSERT INTO `results` (`first`, `last`) VALUES (@p1, @p2); select @@identity;
- id-主键-自动递增
- 第一个-瓦尔查尔(45)
- last-varchar(45)
选择@@identity代码>以获取id
INSERT INTO `results` (`first`, `last`) VALUES (@p1, @p2); select @@identity;
这是我的密码:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ResultsTableAdapter.Fill(Me.myDataSet.results)
test()
Me.Close()
End Sub
Private Sub test()
Dim newID As Integer
newID = Me.ResultsTableAdapter.InsertQuery("John", "Smith")
MsgBox(newID.ToString)
End Sub
End Class
记录被正确插入数据库,但问题是my newID变量的值始终为1
知道为什么吗?使用mysql\u insert\u id()函数,如图所示
好的,我终于可以让它工作了。我所需要做的就是将查询的ExecuteMode
属性从NonQuery更改为Scalar
我在本周早些时候做了这项工作,今天某个时候我以某种方式改变了那项财产。我快要发疯了,哈哈。这是相同的代码。我所要做的就是在tableAdapter中选择查询,以便在properties窗口中显示其属性。然后将ExecuteMode更改为Scalar。
if ((result = mysql_store_result(&mysql)) == 0 &&
mysql_field_count(&mysql) == 0 &&
mysql_insert_id(&mysql) != 0)
{
used_id = mysql_insert_id(&mysql);
}