好吧我是参数化查询的noob。我明白为什么你应该使用它们,但是我找不到任何显示正确方法的资源,或者至少有一个显示实际工作的正确方法。ASP.NET C#参数化查询返回Nothing
所以我的问题是关于我的代码是否正确。它编译并运行得很好,但它在gridview中完全没有返回。
protected void SearchButton_Click(object sender, EventArgs e)
{
string searchBoxValue = SearchBox.Text;
string columnNameValue = ColumnName.SelectedValue;
columnNameValue.ToLower();
SqlCommand searchCommand = new SqlCommand();
searchCommand.Connection = connection;
searchCommand.CommandText = "select firstname AS FirstName,lastname AS LastName, zipcode as ZipCode, phone AS Phone, email AS Email, cancersurvivor AS CancerSurvivor, ethnicity AS Ethnicity from registrants where @columnname = @searchterm";
SqlParameter columnParam = new SqlParameter();
columnParam.ParameterName = "@columnname";
columnParam.Value = columnNameValue;
SqlParameter searchBoxParam = new SqlParameter();
searchBoxParam.ParameterName = "@searchterm";
searchBoxParam.Value = searchBoxValue;
searchCommand.Parameters.Add(columnParam);
searchCommand.Parameters.Add(searchBoxParam);
UpdateTable(searchCommand);
}
的UpdateTable函数采用在一个SqlCommand对象,然后使用一个DataAdapter对象要执行的命令,并填充DataTable对象然后设置gridview的数据源到DataTable对象和结合它。
就像我之前说过的,我真的想找到正确的方法来做到这一点?为了做到这一点,我需要一个存储过程吗?我很困惑这一切,为什么它不工作。
在你的查询中你有'WHERE @parameter = @参数'是这个意思吗? –