guang2356447 发表于 2007-11-1 11:13
sql问题
adoquery1.SQL.Text:='select (case when kh_clqk=0 then 未处理 end)as kh_clqk,kh_rq,kh_tsyy,kh_tsdw,kh_ywzl,kh_zrqf,kh_name,kh_dh,kh_slr from khts;<BR><BR>我是想把字段kh_clqk为0的都 显示成 未处理 <BR>大家看看 怎么改 我这个运行错误<BR><BR>0在sybase数据库的类型为float
sky_yang_sky 发表于 2007-11-1 13:40
(case when kh_clqk=0 then '未处理' else convert(varchar,kh_clqk) end)as kh_clqk
xu2000 发表于 2007-11-2 16:20
楼上的方法适合Sql Server,万全的办法是在字段中的OnGetText中判断一下。
guang2356447 发表于 2007-11-2 16:37
那怎么判断啊<BR><BR>帮忙写下啊
xu2000 发表于 2007-11-2 18:19
<P>你得先把数据库中的TField类型加入到程序中,对应字段的TField的事件页中就有OnGetText事件。<BR><BR>在这个事件中写入判断代码。<BR></P>
guang2356447 发表于 2007-11-7 16:25
哎 还没解决那 <BR>郁闷啊
jiushiwo 发表于 2007-11-8 13:15
hao好久没来灌灌了<BR><BR><BR>
guang2356447 发表于 2007-11-8 18:04
<P>你的头像太牛拉</P>
guang2356447 发表于 2007-11-8 22:54
<P>我的数据库是sybase<BR>谁能帮解决下</P>
guang2356447 发表于 2007-11-8 23:37
经过实验<BR>(case when kh_clqk=0 then '未处理' else convert(varchar,kh_clqk) end)as kh_clqk<BR>这个是正确的 感谢sky_yang_sky 谢谢各位参与<BR><BR>只不过这条语句在delphi中行不通 在sybase中调试成功<BR><BR>原因是<BR>(case when kh_clqk=0 then '未处理' else convert(varchar,kh_clqk) end)as kh_clqk<BR>要把as kh_clqk改改<BR>(case when kh_clqk=0 then '未处理' else convert(varchar,kh_clqk) end)as aa<BR><BR>在调用的时候 <BR>edit1.text:=adoquery1.fieldvluce['aa'];
页:
[1]