2016-06-28 9 views
0

私はデータをフィルタリングしようとすると、私はこのエラーを取得するフィルタリング:オペランドがありませんエラーデータ

protected void Page_Load(object sender, EventArgs e) 
{ 
    using (con = new OleDbConnection(@"PROVIDER=Microsoft.ACE.OLEDB.12.0;" + @"DATA SOURCE= C:\Users\ASAD\Docements\Student.accdb")) ; 
} 
protected void Button1_Click(object sender, EventArgs e) 
{ 
    string FilterExpression = string.Concat(DropDownList1.SelectedValue, "LIKE '%{0}%'"); 
    SqlDataSource1.FilterParameters.Clear(); 
    SqlDataSource1.FilterParameters.Add(new ControlParameter(DropDownList1.SelectedValue, "TextBox1", "Text")); 
    SqlDataSource1.FilterExpression = FilterExpression; 
} 
+0

@Asadのスタックオーバーフローへようこそ。コードを投稿していただきありがとうございますが、問題の内容を説明してください。 –

+0

私はデータエラーを表示します。show() – Asad

+0

'/'アプリケーションでサーバーエラーが発生しました。 構文エラー: '%1%' '演算子の後にオペランドがありません。 – Asad

答えて

0

私はあなただけのスペースが不足していると思う:Server Error in '/' Application. Syntax error: Missing operand after ''%1%'' operator.

これは問題を生じコードですキーワードLIKE前:あなたの選択した値が "BOB" ​​である場合

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string FilterExpression = string.Concat(DropDownList1.SelectedValue, " LIKE '%{0}%'"); 
    SqlDataSource1.FilterParameters.Clear(); 
    SqlDataSource1.FilterParameters.Add(new ControlParameter(DropDownList1.SelectedValue, "TextBox1", "Text")); 
    SqlDataSource1.FilterExpression = FilterExpression; 
} 

、あなたの表現ではなく、BOB LIKEのBOBLIKE '%1% '%1%' になります。

また、DropDownListの内容とコンテキストによっては、その値を引用する必要がある場合があります。

+0

データをフィルタリングするときの表示エラー\t '/'アプリケーションのサーバーエラー。構文エラー: '%1%' '演算子の後にオペランドがありません – Asad

+0

FilterExpressionに関するMSの文書は次のとおりです:https://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(v=vs) .110).aspx。これによれば、LIKE条件はワイルドカード文字として '*'または '%'のいずれかを使用できます。つまり、式の一部が正しいことを意味します。完全な式は、 "ItemName LIKE '%product%'の形式でなければなりません。それがうまくいかない場合は、 'DropDownList1.SelectedValue'と' TextBox1.Text'の値がどのようなものか期待してください。また、DropDownList1にはフィールド名のリストが含まれていますか? –

+0

私はデータベースを作成し、データベースに学生情報が含まれているようになりました。フィルターを追加し、部門名、学生名の父親名などの学生情報を表示します。 – Asad

関連する問題