select max() from table where field:=Edit1.Text but error message(field no find)

  • 主题发起人 主题发起人 林天送
  • 开始时间 开始时间

林天送

Unregistered / Unconfirmed
GUEST, unregistred user!
select max() from table where field:=Edit1.Text but error message(field no find)(100分)<br />
 
&lt;font color=#0000ff&gt;Field not find&lt;/font&gt; is &lt;font color=#0000ff&gt;field not find&lt;/font&gt;
在SQL中使用MAX,必须针对特定的字段,如 MAX(ID)
 
不明白。
如果是用query,它没有和datasource关联的话,
open后query里就算有数据,它的recourdcount也是-1
你需要再open前加query.last;
 
select max() from table where field:=Edit1.Text
改为:
'select max() from table where field=:Var1'
Query1.ParamByName('Var1').AsString:=Edit1.Text;
 
取最大值时要表明在哪个字段中选取,例如MAX(field),要不程序不知道你想要的是哪一个
字段中的最大值。
 
有3个可能的错误!
1.你确定table中有字段field。
2.Max是取某一数值型字段的最大值,所以Max有一个字段名的参数,
写为Max(field)
3.select max() from table where field:=Edit1.Text 这句既不象
SQL语句也不象DELPHI程序。也许应写成这样:
Query1.SQL.Clear;
Query1.SQL.Add('select max(field) from table where field='''+Edit1.Text+'''');
Query1.Open;
 
同意slicker,
在SQL中使用MAX(),必须针对特定的字段,如 MAX(你要得到最大值的改列的名字)

另外,如果你用char类型的字段保存整数的话,可以通过convert()函数
转换为整数在max(),这样才能得到正确的结果!!!
 
Query1.SQL.Add('select max(field) from table where field='+''''+Edit1.Text+'''')
 
都有一套,但用参数还是比较好一些
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
975
import
I
I
回复
0
查看
3K
import
I
I
回复
0
查看
1K
import
I
I
回复
0
查看
2K
import
I
I
回复
0
查看
3K
import
I
后退
顶部