vb.net mysql Last_Insert_ID, вызывающий двойную запись в БД?

Я не могу понять, почему я получаю двойную запись в БД каждый раз, когда выполняется подпрограмма. Я думаю, у меня есть идея, и я думаю, что это что-то простое, но я не уверен, как это исправить. Спасибо за любую помощь, которую может оказать любой.

Вот мой источник данных:

<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 ответ

Решение

Да, вы звоните дважды

Другие вопросы по тегам