ADOQuery1.Parameters.ParamByName('年度').DataType:=ftinteger;
出现错误说是:missing operator or semicolon
为什么?全部的代码为
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if edit1.Text='' then
begin
showmessage('请输入订单年度时间');
edit1.SetFocus;
end
else
if(trim(edit1.Text)<>'') then
begin
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 订单车信息');
ADOQuery1.SQL.Add('where 年度= '+edit1.Text)
ADOQuery1.Parameters.ParamByName('年度').DataType:=ftinteger;
ADOQuery1.Parameters.ParamByName('年度').Value:=trim(edit1.Text);
ADOQuery1.CursorType:=ctkeyset;
ADOQuery1.LockType:=ltbatchoptimistic;
ADOQuery1.Open;
end;
end;
出现错误说是:missing operator or semicolon
为什么?全部的代码为
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if edit1.Text='' then
begin
showmessage('请输入订单年度时间');
edit1.SetFocus;
end
else
if(trim(edit1.Text)<>'') then
begin
if ADOQuery1.Active then
ADOQuery1.Active:=false;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 订单车信息');
ADOQuery1.SQL.Add('where 年度= '+edit1.Text)
ADOQuery1.Parameters.ParamByName('年度').DataType:=ftinteger;
ADOQuery1.Parameters.ParamByName('年度').Value:=trim(edit1.Text);
ADOQuery1.CursorType:=ctkeyset;
ADOQuery1.LockType:=ltbatchoptimistic;
ADOQuery1.Open;
end;
end;
解决方案 »
- delphi 里这个sql语句错在哪里,该怎么写。谢谢。
- 多线程传递参数问题
- 关于基于HTTP协议发送的问题
- CSDN的API哪里有?
- 为何在OpenPictureDialog运行时jpeg格式的图片就显示不出来?
- 难道这真的是一个难题吗?第3次求救!!(解决后50分送上,绝不食言)
- 如何更改按扭的颜色?
- 突然很迷茫,望达人指点啊,顺便散分
- 请斑竹、各路高手帮忙看一下,为什么我这段程序出错?
- delphi 中treeview问题请教
- 很令人迷惑的地址错误: raised exception class EAccessViolation with message.....
- 关于计算时间函数的问题!
begin
if trim(edit1.Text)='' then
begin
showmessage('请输入订单年度时间');
edit1.SetFocus;
end else
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from 订单车信息');
SQL.Add('where 年度='+Quotedstr(edit1.Text));(年度如果是文本类型,要加单引号)
Open;
end;
end;
选择自己对应的数据库连接方式
ADOQuery1.SQL.Add('where 年度= '+edit1.Text)你看看这个语句吧
有两个错误:
1)DELPHI中的语句少了一个;号
2)SQL语句少了一对''号呀
完整的语句应该这样写 ADOQuery1.SQL.Add('where 年度= '+''''+edit1.Text+'''');
ADOQuery1.SQL.Add('select * from 订单车信息');
ADOQuery1.SQL.Add('where 年度=:Y ')
ADOQuery1.Parameters.ParamByName('Y').DataType:=ftinteger;
ADOQuery1.Parameters.ParamByName('Y').Value:=strtoint(edit1.Text);
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from 订单车信息');
ADOQuery1.SQL.Add('where 年度= '+edit1.Text)
ADOQuery1.Parameters.ParamByName('年度').DataType:=ftinteger;
ADOQuery1.Parameters.ParamByName('年度').Value:=trim(edit1.Text); ADOQuery1.CursorType:=ctkeyset;
ADOQuery1.LockType:=ltbatchoptimistic;
ADOQuery1.Open;在语句中没有参数据何来参数输入呢?要不你将
ADOQuery1.SQL.Add('where 年度= '+edit1.Text)改为:
ADOQuery1.sql.add('where 看度=:ND');
ADOQuery1.Parameters.ParamByName('ND').Value:=trim(edit1.Text);
ADOQuery1.Open;
这样应该可以了。