2017-06-06 27 views
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

+0

あなたのパラメータも、「@」の文字を持っている必要があります。 –

+0

使用するとき、彼らは実際にはしないでくださいSqlDataSouce.SelectParameters.Addを使用してsqlCommand.Parameters.AddWithValueを使用してパラメータを追加します。それはただ見てそれは動作しませんでした。しかし、ありがとう。 –

+0

私はSqlDataSourceを使用して、GridViewを通じてクエリの結果を表示できます。それを行うためのより良い方法や簡単な方法がありますか? –

答えて

0

スペルの問題..

SqlDataSource1.SelectParameters.Add(new Parameter("DateFie1d2", TypeCode.String, DateField2)); 

DateFie1d2代わりのDateField2

関連する問題