你把两个field改称field1和field2试试.
解决方案 »
- delphi取excel中的数据问题
- edit1.text 的内容查询还需要转换么?菜鸟不好意思,请指教在线等!!急
- 有类似EXCEL表格的控件吗?》要能修改行和列的名字,谁有,介绍一个,急,谢
- WebBrowser 的 Design Mode 问题 !
- 如何让当鼠标移到label上面的时候,鼠标编程小手的状态阿,移走后有还原
- 一个关于TRichEdit控件的问题.
- procedure typelist(Query:TQuery;start:integer;str:string);
- 多重条件查询问题?
- 字符串为空的表示? 为什么sStr := ''不能表示空?
- 关于PChar与string 转换
- 有关RichEdit,高手请进!!!!
- 请教!!!求教一个有点难得问题!
一个是field,一个是fields呀?这好像不是问题的关键
TmpStr:String;
begin
with Adoquery1 do
begin
Close;
SQL.Clear;
TmpStr := 'First';
SQL.Add(' select count('+TmpStr+') as total from number where :field = :number');
Parameters.ParamByName('number').Value:=StrToInt(Edit1.Text);
Parameters.ParamByName('field').Value := 'first';
Open;
end;
end;
var
sqlstr:string;
begin
sqlstr:='select count(' + 'first'+ ') as total from number '
+'where '+'first'+'='+edit1.text;
adoquery.sql.clear;
adoquery.sql.text:=sqlstr;
adoquery.open;
那么SQL语句就是
select count('First') as total from number where First = 20'当然不行了~~
然后给field,number赋值就可以了,但是最后的first为什么就不能用变量了?
错误:
SQL := 'select count(:field) as total from number where :field = :number'正确:
SQL := 'select count('+ FieldName +') as total from number where '+ FieldName +'= :number'字段名称不能用参数去表示。还有在MS SQL server中,top关键字后边紧跟的数字也不能用参数,比如'select top :topcount * from table'这样的写法是错的。在Oracle中是怎么一个情况我就不太清楚。