1

SQL コマンドで異なるクエリを渡すことにより、3 つのボタン クリック イベントで同じグリッドを表示しようとしています。

                <table style="width:100%;" cellspacing="2" class="Text">
                    <tr>
                        <td align="left" colspan ="2">
                            <asp:Button ID="btnreport1" runat="server"
                                     Text="Report1" Width="104px"
                                     OnClick ="btnreport1_Click1"/>
                        </td>
                    </tr>                         
                </table>
                            <tr>
                        <td>
                            <asp:GridView ID="GridView1" runat="server" 
                            AutoGenerateColumns="True" AllowPaging="True"
                                 AllowSorting="True">
        </asp:GridView>

VB コード

Protected Sub btnreport1_Click1(sender As Object,
                        e As EventArgs) Handles btnreport1.Click
        Using conn1 As New SqlConnection(ConfigurationManager.ConnectionStrings(
                         "TERAMSConnectionString").ConnectionString)
            conn1.Open()
            Dim cmd2 As SqlCommand =
               New SqlCommand("select * from AssetsHardware_Master ,
                               Desktop where Serial_no !=SerialNo", conn1)
            Dim dr As SqlDataReader = cmd2.ExecuteReader
            Dim dt As DataTable = New DataTable
            dt.Load(dr)
            GridView1.DataSource = dt
            GridView1.DataBind()
        End Using
    End Sub
4

4 に答える 4

2

ここでは、グリッド ビューをバインドするメソッドを呼び出すことはできません

デザイン ビューOnClick ="btnreport1_Click1"

およびコードビハインドでButton1_Click()

そのため、グリッド ビューに結果が表示されません

于 2013-10-31T09:43:51.887 に答える
0

コピペエラー?

あなたのボタン:

<asp:Button ID="btnreport1" runat="server" Text="Report1" Width="104px" 
            OnClick ="btnreport1_Click1"/>

あなたのメソッド宣言:

 Protected Sub Button1_Click(sender As Object, e As EventArgs) _ 
     Handles Button1.Click

あなたの方法は決して使用されません。これを試してください:

<asp:Button ID="Button1" runat="server" Text="Report1" Width="104px"/>

またはこれ:

Protected Sub btnreport1_Click1(sender As Object, e As EventArgs)
于 2013-10-31T09:45:24.047 に答える
0

WHERE-clauseの条件が正しくありません:

where Serial_no != SerialNo

SerialNo はそれ自体ではないため、これは少なくとも何も返しません!=( と同じwhere 1=2です)。

パラメータ化されたクエリを使用したいと思います。

Dim cmd2 As SqlCommand = New SqlCommand("select * from AssetsHardware_Master ,Desktop where Serial_no != @Serial_no", conn1)
cmd2.Parameters.AddWithValue("@Serial_no", SerialNo) 

ここで、静的文字列の場合、SerialNo は変数ですSerialNo

cmd2.Parameters.AddWithValue("@Serial_no", "SerialNo") ' presuming varchar column
于 2013-10-31T09:40:26.683 に答える