0
protected void Button2_Click(object sender, EventArgs e)
{
string dateType = DateFieldDropDown.SelectedItem.ToString();
string DateField1 = DateTextBox.Text;
string DateField2 = dateSelection2Text.Text;
string DateFiled = "DateFiled";
if (dateType == "DateFiled")
{
SqlDataSource1.SelectParameters.Add(new Parameter("DateFiled", TypeCode.String, DateFiled));
SqlDataSource1.SelectParameters.Add(new Parameter("DateField1", TypeCode.String, DateField1));
SqlDataSource1.SelectParameters.Add(new Parameter("DateFie1d2", TypeCode.String, DateField2));
SqlDataSource1.SelectCommand = "SELECT * FROM tbl_repopulate WHERE CONVERT(VARCHAR, @DateFiled) BETWEEN " +
"CONVERT(VARCHAR, @DateField1) AND CONVERT(VARCHAR, @DateField2)";
SqlDataSource1.DataBind();
GridView1.DataBind();
}
データベースに対してSQLクエリを実行しようとしています。すべての要素がテキストであっても、DateFiledとDateField1の型が互換性がないことを示すエラーが発生しました。私は行って、CONVERT(VARCHAR ...)でそれを修正しようとしましたが、今は@ DateField2の新しいエラーが出てきて、宣言されていません。他の二つのパラメータ。私は何かが足りないのですか?スカラー変数を宣言する必要があります@ DateField2
あなたのパラメータも、「@」の文字を持っている必要があります。 –
使用するとき、彼らは実際にはしないでくださいSqlDataSouce.SelectParameters.Addを使用してsqlCommand.Parameters.AddWithValueを使用してパラメータを追加します。それはただ見てそれは動作しませんでした。しかし、ありがとう。 –
私はSqlDataSourceを使用して、GridViewを通じてクエリの結果を表示できます。それを行うためのより良い方法や簡単な方法がありますか? –