vb.net mysql Last_Insert_ID导致双DB条目?

时间:2013-04-24 04:22:31

标签: mysql vb.net last-insert-id

我无法弄清楚为什么每次执行子程序时都会得到一个双DB条目。我想我有一个想法,我认为这很简单,但我不确定如何解决它。感谢任何人都能提供的帮助。

这是我的数据源:

<asp:SqlDataSource id="sqlvoted" runat="server" ConnectionString="<%$ ConnectionStrings:Mym6pConnection %>"
ProviderName="MySql.Data.MySqlClient">
</asp:SqlDataSource>

子的相关部分:

sqlvoted.InsertParameters.Clear()
sqlvoted.InsertCommand = "INSERT INTO urls (url,likes,mlsid,sitename) VALUES ('" & url & "','" & firstlike.ToString & "','" & newmlsid & "','" & sitename & "');SELECT LAST_INSERT_ID()"
sqlvoted.Insert()

事件处理程序:

Protected Sub sqlvoted_Inserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles sqlvoted.Inserted
    Dim cmd As System.Data.Common.DbCommand = e.Command
    urllikeID = cmd.ExecuteScalar
End Sub

我实际上是在运行插入两次吗?一次使用sqlvoted.insert()命令,一次使用cmd.ExecuteScalar?这是我最好的猜测,但我不知道如何将两者合二为一。

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,你打电话两次