C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 19 を表示中)
■7678 / )  Re[1]: SQLパラメータによるデータ挿入
□投稿者/ 七曜 (13回)-(2007/09/13(Thu) 00:44:36)
随所に間違いがちらほら…デバック実行すればわかりそうな予感がしますが・・・
検証環境はVS2005(VB.NET)です。

[コードビハインド側]
    Protected Sub SqlDataSource1_Inserted(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceStatusEventArgs) Handles SqlDataSource1.Inserted
        Label1.Text = e.AffectedRows.ToString() + "件処理されました"
    End Sub

    Protected Sub SqlDataSource1_Inserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs) Handles SqlDataSource1.Inserting
        e.Command.Parameters("@company").Value = "xxx"
        e.Command.Parameters("@name").Value = "yyy"
        e.Command.Parameters("@type").Value = "zzz"
    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        SqlDataSource1.Insert()
    End Sub

[aspx]
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:MyNorthWindConnectionString %>"
            InsertCommand="INSERT INTO ユーザ(会社名, 氏名, タイプ) VALUES (@company, @name, @type)"
            SelectCommand="SELECT ユーザ.* FROM ユーザ">
            <InsertParameters>
                <asp:Parameter Name="company" />
                <asp:Parameter Name="name" />
                <asp:Parameter Name="type" />
            </InsertParameters>
        </asp:SqlDataSource>
        <asp:Button ID="Button1" runat="server" Text="Button" />
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>

まず、InsertCommandが間違っているような。
つぎに、e.AffectedRowsはToString()しないと文字列連結にならないような・・・。

パラメータの設定は面倒なのでハードコードして検証しました。あしからず。

返信 編集キー/


管理者用

- Child Tree -