从mysql数据库获取vb.net中最后插入的id

从mysql数据库获取vb.net中最后插入的id,mysql,vb.net,Mysql,Vb.net,我发现答案是,你可以通过双重查询返回id,但我的答案是空的。有什么想法吗?在我切换底线以返回整数而不是执行查询之前,该方法确实有效 Public Function insertDynamicQuery(ByVal strTable As String, ByVal strParameters As String(), ByVal strParameterValues As String()) As Integer Dim intParameterCount As Integer = st

我发现答案是,你可以通过双重查询返回id,但我的答案是空的。有什么想法吗?在我切换底线以返回整数而不是执行查询之前,该方法确实有效

Public Function insertDynamicQuery(ByVal strTable As String, ByVal strParameters As String(), ByVal strParameterValues As String()) As Integer
    Dim intParameterCount As Integer = strParameters.Count() - 1
    Dim strQuery As String = "INSERT INTO " + strTable + " ("
    For i = 0 To intParameterCount
        strQuery += strParameters(i)
        If i < intParameterCount Then
            strQuery += ", "
        End If
    Next
    strQuery += ") VALUES ("
    For i = 0 To intParameterCount
        strQuery += "@insertparameter" + i.ToString()
        If i < intParameterCount Then
            strQuery += ", "
        End If
    Next
    strQuery += ");"
    strQuery += " SELECT LAST_INSERT_ID() FROM " + strTable + ";"
    Dim cmd As New MySqlCommand(strQuery, _DBConnection)
    For k = 0 To intParameterCount
        cmd.Parameters.AddWithValue("@insertparameter" + k.ToString, strParameterValues(k))
        '  Console.WriteLine("@insertparameter" + k.ToString + "//" + strParameterValues(k))
    Next
    Return CInt(cmd.ExecuteScalar())
End Function
Public函数insertDynamicQuery(ByVal strTable作为字符串,ByVal strParameters作为字符串(),ByVal strParameterValues作为字符串())作为整数
Dim intParameterCount As Integer=strParameters.Count()-1
将strQuery设置为String=“插入”+strTable+”(“
对于i=0到intParameterCount
strQuery+=strParameters(i)
如果我
insert有效吗?
MySqlCommand.LastInsertedId
该insert没有做任何事情来将值映射到正确的列。我添加了最后一行insert\u ID()并添加了返回行。该方法只插入一个条目,效果很好。我在这里遵循着答案:你的方式非常有效,谢谢!不知道为什么另一个问题不同,但谢谢你。