1

以下のコードは、2 つのテーブル (ZAJSLUZ と KLISLUZ) を接続する必要がありますが、列 AKCE = zakce.Text である ZAJSLUZ からのみを選択する条件を追加する必要があります。

誰かが私のコードを改善してくれませんか? 「=の近くに悪い構文がある」というエラーが表示されます

DataTable dt = new DataTable();
//SqlDataAdapter SDA = new SqlDataAdapter("select * from zajsluz",spojeni);
SqlDataAdapter SDA = new SqlDataAdapter("SELECT     zajsluz.akce ,zajsluz.text,klisluz.pocet FROM zajsluz RIGHT JOIN klisluz ON zajsluz.ID=klisluz.id WHERE zajsluz.akce="+zakce.Text, spojeni);
SDA.Fill(dt);
dtg_ksluzby.DataSource = dt;
4

5 に答える 5

1

前に、zakce.Text が有効な文字列かどうかを確認してください。

string sZakce = string.Empty;
if(zakce != null && zakce.Text != null)
{
  sZakce = zakce.Text;
}
string sQuery = string.Format("SELECT zajsluz.akce ,zajsluz.text,klisluz.pocet FROM zajsluz RIGHT JOIN klisluz ON zajsluz.ID=klisluz.id WHERE zajsluz.akce= '{0}'", sZakce)
SqlDataAdapter SDA = new SqlDataAdapter(sQuery, spojeni);

また、DataAdapter を使用する場合はusing ブロックを使用することをお勧めします。これにより、アダプターは自動的に破棄されます。

using (SqlDataAdapter a = new SqlDataAdapter("SELECT * FROM table", con))
{
   // use your adapter a           
}
于 2013-07-17T06:26:21.813 に答える