有如下SQL语句:
ADOQUERY1.SQL.ADD('SELECT COUTN(FIELD1) INTO :A FROM TABLE1')
总是不能执行提示 @P1 错误!
为什么呀!急死了!!!!!!!!
ADOQUERY1.SQL.ADD('SELECT COUTN(FIELD1) INTO :A FROM TABLE1')
总是不能执行提示 @P1 错误!
为什么呀!急死了!!!!!!!!
解决方案 »
- 如何实现TListView的节点在选择时像AcdSee软件一样
- 不知道哪里找工作比较方便?
- VB、DELPHI学习群,欢迎大家进入!!
- 我的程序为什么出现这个错误?(invalid floating point operation)
- Delphi程序访问AXIS的Web Service服务问题求助?
- 紧急请教:在delphi中应用unicode的方法及与ansistring的区别,紧急!紧急!紧急!
- 哪里有Indy控件下载?
- 各位大侠请帮我改改的internet程序
- 当连接数据库时,如何去掉Microsoft access drivers[odbc]的密码提示,我不需要密码:(
- 我急需中文制作安装程序工具!InstallShield Express汉化版或更好的。
- 关于WINSOCK编程的两个问题
- DELPHI+SQL SERVER 2000的程序在没有SQL SERVER 的机器上有办法运行吗?
什么意思呀??
为什么要加上这个呢??
2.最好不要将字段或是表名用变量代替,似乎这样做是不允许的
3.如果要变动写,就写成处理字符串的行式,处理完之后,再整体加入到查询中
INTO是指将查询结果写入一个表中,INTO后面跟的是表名;
这里提问者想将其作为一个变量来代替,所以用了:A的这个写法;
个人感觉这个写法只能用于字段内容或是查询的具体值,不能用于表名或是字段名……
如有哪位将这个成功的用于了表名或字段名的话,欢迎来议论……
先处理成字符串在送到query中执行
ADOQuery1.SQL.Text:=Format('Select Count(*) As TmpField Into %s From Table1',['TempTable']);
你的问题,用format把表名直接写进sql语句里就行了
ADOQuery1.Sql.Text := 'SELECT COUTN(FIELD1) FROM TABLE1';
你在执行Sql.Add之前Sql是否有其它值?
ADOQUERY1.SQL.ADD('SELECT NewCount=COUTN(FIELD1) FROM TABLE1 GROUP BY FIELD1');
adoquery1.open;
ShowMessage(IntToStr(adoquery1.FieldByName('NewCount').asInteger));
ADOQUERY1.SQL.ADD('SELECT COUTN(FIELD1) as CNT FROM TABLE1');
adoquery1.open;
ShowMessage(IntToStr(adoquery1.FieldByName('CNT').asInteger));