在DELPHI中如何写这样的SQL语句?(50分)

  • 主题发起人 主题发起人 wusikai
  • 开始时间 开始时间
W

wusikai

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI中,有一个字段是ID(int型),有8位。现在要通过edit输入数据,但是我想查找ID中前6位是相同的数据,这代码要怎么写?我用的是query来实现,我知道要用模糊查询,但是不知道怎么样把edit输入的数据传给ID。
 
query.SQL.Text:=Format('select * from tablename where id/100=%s', [edit.Text]);

SQL Server这样写,其他数据库注意把/换称相应的整除运算符.
 
with DM.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('select * from DR_URINE where ID/100 =strtoint(edt1.Text)');
Open;
end;
 
楼上写的错误!
 
SQL.Add('Select * From tablename Where ID Like ''' + Copy(edtID.Text, 1, 6) + '%''')
 
还有一招:
var
minID, maxID: string;
minID := Copy(edtID.Text, 1, 6) + '00';
maxID := Copy(edtID.Text, 1, 6) + '99';

SQL.Add('Select * From tablename Where ID Between ' + minID + ' and '+ maxID);
or
SQL.Add('Select * From tablename Where ID >= ' + minID + ' and ID <= '+ maxID);
 
还可以这样:
SQL.Add('Select * From tablename Where substring(cast(ID as char(8)), 1, 6) = + QuotedStr(Copy(edtID.Text, 1, 6))
 
可能是我说得不太明白。比如说,有一个ID为20080908,这样的ID有很多个,我想要把ID为200809的全都查询出来,而200809是在edit里输入的。我知道是用模糊查询,但是不知道这语句要怎么写?
 
上面很多人写的都对阿?你仔细看看阿!
 
后退
顶部