1

複数の単語を含むクエリを読もうとすると、この問題が発生します。基本的に、コンボボックスからアイテムを選択した後、文字列値をクエリに入れ、それを実行します。1 つの単語項目を選択すると問題なく動作しますが、複数の単語項目を選択するとエラーがスローされます。

Column 'Eligible for free meals' does not belong to table Eligible for free meals.

'Eligible for free meels'選択したアイテムを表します。一重引用符を付けたり削除したりしようとしました%が、役に立ちませんでした...誰でもこの問題を解決できますか。私は初心者で、C#についてあまり知りません....

        string Column = Filter1.Text;
        Filter1Values.Items.Clear();
        string Query = "select '" + Column + "' from [data$]";
        OleDbDataAdapter da = new OleDbDataAdapter(Query, con);            
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        da.Fill(ds, Column);
        dt = ds.Tables[Column];
        for (int i = 0; i <= dt.Rows.Count - 1; i++)
        {
            string value = dt.Rows[i][Column].ToString();
            if (!Filter1Values.Items.Contains(value))
            {
                Filter1Values.Items.Add(value);
            }
        }

ありがとうございました!フォーマットが適切でない場合は申し訳ありませんが、私はここに来たばかりです...

4

1 に答える 1

1

テーブル名を角括弧で囲んでいるので、MSSQL を使用しているようです。したがって、列名にはスペースが含まれている可能性があるため、次のように同じことを行う必要があります...

string Query = "select [" + Column + "] from [data$]";

オラクルの場合は...

string Query = "select \"" + Column + "\" from data$";

MySQLの場合、それは...

string Query = "select `" + Column + "` from data$";
于 2013-05-11T09:24:26.377 に答える