有如下SQL语句:
ADOQUERY1.SQL.ADD('SELECT COUTN(FIELD1) INTO :A FROM TABLE1')
总是不能执行提示 @P1 错误!
为什么呀!急死了!!!!!!!!
ADOQUERY1.SQL.ADD('SELECT COUTN(FIELD1) INTO :A FROM TABLE1')
总是不能执行提示 @P1 错误!
为什么呀!急死了!!!!!!!!
解决方案 »
- 第1行:","附近有语法错误
- Windows SDK/API就我一个人了??
- 这个简单的树,如何显示出来?
- 动态窗体创建后为什么会自动释放对象?
- 如何确定打印到纸上后内容的大小?
- 怎样让Edit控件只接受数字的输入?
- 如何将查询后的数据传递给TChart?
- 最好程序启动画面的设计是什么?
- 在RBuilder的报表设计控件中,怎样能把“Chart、DBChart”加到工具栏上?
- 怎样检测到是否已安装了SQL Server的数据库服务器端?若有,如何再检测是否已建立了指定名称的数据库?
- 关于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));