0

サブルーチンが実行されるたびに二重の 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

実際に挿入を 2 回実行していますか? sqlvoted.insert() コマンドで 1 回、cmd.ExecuteScalar で 1 回?それが私の最善の推測ですが、両方を1つに統合する方法がわかりません。

ありがとう!

4

1 に答える 1