さて、私はパラメータ化されたクエリの初心者です。なぜそれらを使用する必要があるのか は理解していますが、正しい方法を示すリソース、または実際に機能する正しい方法を示すリソースが少なくとも1つ見つかりません.
私の質問は、私のコードが正しいかどうかです。コンパイルして正常に実行されますが、グリッドビューには何も返されません。
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 データソースをデータテーブル オブジェクトに設定し、それをバインドします。
前に言ったように、これを行う適切な方法を本当に探していますか? これを行うには、ストアド プロシージャが必要ですか? 私はこれらすべてと、なぜそれが機能しないのかについて混乱しています。