1

我在下面得到了这段代码,它应该连接 2 个表(ZAJSLUZ 和 KLISLUZ),但我需要添加条件以仅选择 ZAJSLUZ 中的那些,其中列 AKCE = zakce.Text

有人会改进我的代码吗?它给我的错误是“=”附近有“错误的语法”

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

像这样改变你的线路。

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);
于 2013-07-17T06:12:00.390 回答
1
...zajsluz.akce=+"zakce.Text,...

你可能想把它改成

...zajsluz.akce='"+zakce.Text+"'",...
于 2013-07-17T06:13:34.397 回答
1

将您的线路更改为

SqlDataAdapter SDA = new SqlDataAdapter("SELECT zajsluz.akce ,zajsluz.text,klisluz.pocet FROM zajsluz RIGHT JOIN klisluz ON zajsluz.ID=klisluz.id WHERE zajsluz.aakce='" + zakce.Text + "'", spojeni);
于 2013-07-17T06:16:52.703 回答
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);

如果您使用 DataAdapters,我还建议您使用using 块,这样您的适配器就会自动处理。

using (SqlDataAdapter a = new SqlDataAdapter("SELECT * FROM table", con))
{
   // use your adapter a           
}
于 2013-07-17T06:26:21.813 回答
0
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);
于 2013-07-17T06:12:47.850 回答