如何在select * from变量中将Request.QueryString设置为变量

时间:2016-12-13 22:24:12

标签: c# asp.net

如何在select * from variable查询中将Request.QueryString设置为变量?

以下是我尝试这样做的方法:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:conn %>" SelectCommand="SELECT [pm1], [s1], [i1], [j1] FROM ([pk1] = @pk1)">
    <SelectParameters>
        <asp:QueryStringParameter Name="pk1" QueryStringField="pk1" DbType = "String" Direction = "Input" />
    </SelectParameters>
</asp:SqlDataSource>

但是这给了我以下错误:

  

'='附近的语法不正确。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.Data.SqlClient.SqlException:不正确   '='附近的语法。

1 个答案:

答案 0 :(得分:0)

使用此代码段在查询中获取QueryString值。

//get the value from the querystring
string qsValue = Request.QueryString["pk1"];

//create a new SqlDataSource instance
SqlDataSource source = new SqlDataSource();

//add the connectionstring to the source
source.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ToString();

//create the query with the selectparameter
source.SelectCommand = "SELECT s1, i1, j1 FROM myTable WHERE (pk1 = @pk1)";

//replace the parameter with the value from the querystring
source.SelectParameters.Add("pk1", qsValue);

//bind the gridview
GridView1.DataSource = source;
GridView1.DataBind();