asp.net - 从 mySQL 表中检索 ASP.NET 中的自动递增列值,而不使用存储过程

标签 asp.net mysql database

我是一个使用 mySQL 数据适配器并插入新行的函数。

我希望函数返回更新行的自动递增列的值。

请帮忙。

Public Function addRow(ByVal colA as String, ByVal colB as String) As Integer
    Dim dbConnection As New MySqlConnection("server=xxx; user id=xxx; password=xxx; database=xxx; pooling=false;")
    Dim dbDataAdapter As New MySqlDataAdapter("SELECT * FROM table", dbConnection)
    Dim dbDataSet As DataSet = New DataSet
    dbDataAdapter.Fill(dbDataSet, "table")

    Dim dbNewRow As DataRow = dbDataSet.Tables("table").NewRow
    dbNewRow("colA") = colA
    dbNewRow("colB") = colB

    dbDataSet.Tables("table").Rows.Add(dbNewRow)

    dbDataAdapter.InsertCommand = New MySqlCommand("INSERT into table(colA, colB) VALUES (@colA, @colB)", dbConnection)
    dbDataAdapter.InsertCommand.Parameters.Add("colA", MySqlDbType.VarChar, 256, "colA")
    dbDataAdapter.InsertCommand.Parameters.Add("colB", MySqlDbType.VarChar, 256, "colB")

    Dim dbParm As MySqlParameter = dbDataAdapter.InsertCommand.Parameters.Add("@colID", MySqlDbType.Int16, 16, "colID")
    dbParm.Direction = ParameterDirection.ReturnValue

    dbDataAdapter.Update(dbDataSet, "table")

    Return dbDataAdapter.InsertCommand.Parameters("@colID").Value

End Function

“Return...”行不起作用,并且不知道正确的代码是什么。

最佳答案

假设插入存储过程正在执行类似的操作

RETURN @@IDENTITY

您将需要与此等效的内容:

oDatabase.AddParameter(oDbCommand, "@RETURN_VALUE", System.Data.DbType.Int32, System.Data.ParameterDirection.ReturnValue, "", System.Data.DataRowVersion.Current, null);
...
oDbCommand.ExecuteNonQuery();
returnStatusCode = (int)oDbCommand.Parameters[0].Value;

关于asp.net - 从 mySQL 表中检索 ASP.NET 中的自动递增列值,而不使用存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2110717/

相关文章:

javascript - 我应该在 vb.net 上做什么来显示我的模式弹出窗口

mysql - 批量调用过程中的重复条目

java - 为什么 Eclipse 会记住从/var/lib/mysql 中删除的 MySQL 数据库/表?

database - 我真的需要散列密码吗?

c# - 在操作方法中抛出 HttpResponseException 时处理 HttpResponseMessage 及其内容

c# - asp.net查询c#错误

php - 从 Android 手机更新数据库失败

php - 在其他网站上显示我的数据库查询

mysql - 首先将两列相加后减去两列

c# - 如何在延迟后重定向到另一个页面