当前位置:主页>delphi7/进销存和数据库> 文章内容

运行出错了?/

发布时间:2010-01-24 | QQ免费站
1楼: 我建了一个窗体 运行时出了这样的错误 错误如下: project project.exe raised exception class edbengineerror with message‘general sql error. [microsoft][odbc sql server driver][sql server]第一行:‘.‘附近有语法错误。‘. process stopped use step or run to continue. 请各位帮忙 看看 怎样解决???? 谢谢

字串5

2楼: 有用到与数据库连接的组件吗?应该是SQL语句有错呀,好好检查一下吧 最好把SQL语句拿到查询分析器里先运行一下,看能否通过... 字串4

3楼: 把sql写出来 字串9

4楼: 我把代码贴出来 麻烦看看 procedure Tgztj_form.cmdokClick(Sender: TObject); var gzbh,bmdm,sqlstr:string; begin gzbh:=formatdatetime(‘yyyymmdd‘,rq_dtp.DateTime); gzbh:=copy(gzbh,1,6); bmdm:=inttostr(bmdm_cbox.ItemIndex); sqlstr:=‘select isnull(sum(a.gzje),0)as je from t_gzb a, t_ygb b‘; sqlstr:=sqlstr+‘where(a.ygbh=b.bh)and(a.gzbh=‘‘‘+gzbh+‘‘‘)and(b.bmdm=‘‘‘+bmdm+‘‘‘)‘; with tquery.Create(nil) do try close; sessionname:=database1.SessionName; databasename:=database1.DatabaseName; sql.Clear; sql.Add(sqlstr); open; if fieldbyname(‘je‘).AsFloat>0 then begin qtgz_ledit.Text:=fieldbyname(‘je‘).AsString; sqlstr:=‘select isnull(sum(b.zwgz),0)as zwje from t_gzb a,td_zwdm b,‘; sqlstr:=sqlstr+‘t_ygb c where(a.ygbh=c.bh)and(c.zwdm=b.zwdm)‘; sqlstr:=sqlstr+‘and(c.bmdm=‘‘‘+bmdm+‘‘‘)and(a.gzbh=‘‘‘+gzbh+‘‘‘)‘; close; sql.Clear; sql.Add(sqlstr); open; zwgz_ledit.Text:=fieldbyname(‘zwje‘).AsString; sqlstr:=‘select isnull(sum(b.zcgz),0)as zcje from t_gzb a,td_zcdm b,t_ygb c ‘; sqlstr:=sqlstr+‘where(a.ygbh=c.bh)and(c.zcdm=b.zcdm)and‘; sqlstr:=sqlstr+‘(c.bmdm=‘‘‘+bmdm+‘‘‘)and(a.gzbh=‘‘‘+gzbh+‘‘‘)‘; close; sql.Clear; sql.Add(sqlstr); open; zcgz_ledit.Text:=fieldbyname(‘zcje‘).AsString; hjgz_ledit.Text:=floattostr(strtofloat(qtgz_ledit.Text)+ strtofloat(zwgz_ledit.Text)+strtofloat(zcgz_ledit.Text)); end else begin showmessage(‘该月工资还没有创建‘); exit; end; finally free; end; end; 字串9

5楼: 你这可能是简单的sql语句语法错误,设断点,单步调试,把sql语句抓出来看看就知道了

字串6

6楼: 我找了没有找到 麻烦大家看看 。。。。

字串2

7楼: 开SQL事件跟踪!清晰的SQL语句就在你面前,自己查错吧! 字串4

8楼: sqlstr:=sqlstr+‘ where(a.ygbh=b.bh)and(a.gzbh=‘‘‘+gzbh+‘‘‘)and ~~~~ 加一個空格,你原來的沒有空格的 select isnull(sum(a.gzje),0)as je from t_gzb a, t_ygb bwhere(a.ygbh=b.bh) ~~~~ 注意別的地方別再有這個問題 字串4

9楼: 在出错的前面把sql语句显示出来,然后挑错,肯定是语句哪个地方有错误了 字串6

10楼: 谢谢 我真是太不细心了

字串6



上一篇:为什么会这样?   下一篇:文本及数字