-3

我有以下文本框和按钮:

<asp:TextBox ID="input" runat="server" Height="10px" Width="60px">123456</asp:TextBox>

<asp:Button ID="Button1" runat="server" OnClick="ViewButton_Click" Text="Button" />

文本框的默认值为“123456”。单击该按钮应触发以下操作:

public byte[] GetImageData(int ID)
    {

     ....

        SqlCommand command = new SqlCommand("select FileImage from TestServ.dbo.Tickets WHERE (FileType = 'PDF' AND ID = 111111)", connection);

     ....

    }

目前,该 ID 手动设置为“111111”,它将用于从与输入的 ID 对应的服务器获取 PDF。然而,我遇到的麻烦是修改代码,以便它获取我输入到“输入”文本框(当前为 123456)的 ID,然后将其设置为上述代码中的 ID,而不是“111111”。

4

2 回答 2

4

您可以简单地尝试使用TryParse方法将输入文本框的内容转换为整数,然后调用GetImageData传递转换后的值的方法。

当然,在GetImageData您使用参数化查询将 ID 作为参数传递给查询数据库的框架代码时

public byte[] GetImageData(int ID)
{

    string cmdText = "select FileImage from TestServ.dbo.Tickets " + 
                     "WHERE (FileType = 'PDF' AND ID = @id)";
    SqlCommand command = new SqlCommand(cmdText, connection);
    command.Parameters.AddWithValue("@id", ID);

    ....

}

调用代码......

int ID;
if(Int32.TryParse(input.Text, out ID))
    byte[] result = GetImageData(ID);

else

  .... show an error ....
于 2013-10-24T14:25:33.643 回答
1

您传递使用参数化查询,例如

SqlCommand command = new SqlCommand("select FileImage from TestServ.dbo.Tickets WHERE (FileType = 'PDF' AND ID = @ID)", connection);
command.Parameters.AddWithValue("@ID", input.Text);

注意:假设GetImageData函数在代码后面

于 2013-10-24T14:22:48.660 回答