adoquery1使用的sql语句报错

huayugu 2009-05-22 09:04:05
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select 姓名 as 姓名,max(case when 课程='语文' then 分数 else 0 end)语文,max(case 课程 when '数学' then 分数 else 0 end)数学,max(case 课程 when '物理' then 分数 else 0 end)物理 into #tb1 from tb group by 姓名');
adoquery1.open;

报错内容:
[error]unit1.pas[74]:illegal character in input file:'语'[$D3EF]
[error]unit1.pas[74]:illegal character in input file:'数'[$CAFD]
[error]unit1.pas[74]:illegal character in input file:'物'[$CEEF]
[Fatal error]project1.drp[5]:Could not compile used unit 'unit1.pas'
...全文
96 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyguo 2009-05-22
  • 打赏
  • 举报
回复
最好把SQL语句给一个字符串 变量 ,

adoquery1.SQL.Add(sSQL)
这样好监控错在什么地方
diecode 2009-05-22
  • 打赏
  • 举报
回复
已经解决
骑牛上铂金 2009-05-22
  • 打赏
  • 举报
回复
SQL语句中用到单引号的地方,写在程序中要用两个单引号!
lishan200012 2009-05-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 huayugu 的帖子:]
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select 姓名 as 姓名,max(case when 课程='语文' then 分数 else 0 end)语文,max(case 课程 when '数学' then 分数 else 0 end)数学,max(case 课程 when '物理' then 分数 else 0 end)物理 into #tb1 from tb group by 姓名');
adoquery1.open;
[/Quote]

adoquery1.SQL.Add('select 姓名 as 姓名,max(case when 课程=''语文'' then 分数 else 0 end) 语文,max(case 课程 when ''数学'' then 分数 else 0 end)数学,max(case 课程 when ''物理'' then 分数 else 0 end)物理 into #tb1 from tb group by 姓名');
Corn1 2009-05-22
  • 打赏
  • 举报
回复
最好把创建、调用、删表的语句写在同一个事务里。
huayugu 2009-05-22
  • 打赏
  • 举报
回复
adoquery1中查询临时表报无效,有办法解决吗
simonhehe 2009-05-22
  • 打赏
  • 举报
回复
[error]unit1.pas[74]:illegal character in input file:'语'[$D3EF]
[error]unit1.pas[74]:illegal character in input file:'数'[$CAFD]
[error]unit1.pas[74]:illegal character in input file:'物'[$CEEF]

把' 改成''

你执行adoquery1.open;
但sql里边Into #写临时表,会出错的...
sparklerl 2009-05-22
  • 打赏
  • 举报
回复

adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select 姓名 as 姓名,max(case when 课程=''语文'' then 分数 else 0 end) as 语文,max(case 课程 when ''数学'' then 分数 else 0 end) as 数学,max(case 课程 when ''物理'' then 分数 else 0 end) as 物理 into #tb1 from tb group by 姓名');
adoquery1.open;



试试
huayugu 2009-05-22
  • 打赏
  • 举报
回复
请高手们帮忙

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧