winform程序,表中的数据是:1和2,int型,1代表停车中,2代表已经离开。
我想在datagridview上 1显示为“停车中”,2显示为“已离开”下面的sql vs提示我"')'"附近有语法错误。请问各位老大什么地方错了呢?
if (tb_card_id.Text == "")
{
if (class_type == 0)
{
sql_str = "select car_fee_id as 交易流水号 ,car_fee_nums as 会员卡号,
(case car_fee_flag when 1 then '停车中' when 2 then '已离开')as 卡状态
from car_park_fee order by car_fee_id desc";
}
}SqlConnection conn = new SqlConnection(fee_conn.sql_conn());
SqlCommand cmd = new SqlCommand(sql_str, conn);
find_do = new SqlDataAdapter();
find_do.SelectCommand = cmd;
ds = new DataSet();
try
{
find_do.Fill(ds, "rs");
d_report.Visible = true;
}
catch (System.Exception sqler)
{
MessageBox.Show("数据库不存在或用户名密码错误!", sqler.Message);
return;
}
d_report.DataSource = ds.Tables["rs"];
我想在datagridview上 1显示为“停车中”,2显示为“已离开”下面的sql vs提示我"')'"附近有语法错误。请问各位老大什么地方错了呢?
if (tb_card_id.Text == "")
{
if (class_type == 0)
{
sql_str = "select car_fee_id as 交易流水号 ,car_fee_nums as 会员卡号,
(case car_fee_flag when 1 then '停车中' when 2 then '已离开')as 卡状态
from car_park_fee order by car_fee_id desc";
}
}SqlConnection conn = new SqlConnection(fee_conn.sql_conn());
SqlCommand cmd = new SqlCommand(sql_str, conn);
find_do = new SqlDataAdapter();
find_do.SelectCommand = cmd;
ds = new DataSet();
try
{
find_do.Fill(ds, "rs");
d_report.Visible = true;
}
catch (System.Exception sqler)
{
MessageBox.Show("数据库不存在或用户名密码错误!", sqler.Message);
return;
}
d_report.DataSource = ds.Tables["rs"];
'已离开') as 卡状态
加个空格
(case car_fee_flag when 1 then '停车中' when 2 then '已离开') as 卡状态
from car_park_fee order by car_fee_id desc";
注意end不要漏了
其实照您平时的思路,您应该说:“SQL都过时了,你怎么还用,现代编程不用SQL,不用循环,现代编程靠打飞机”