无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2694|回复: 6
打印 上一主题 下一主题

[已解决] 求一段SQLite查询语句

[复制链接]
跳转到指定楼层
1#
发表于 2014-5-22 14:04:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lgylgyxy 于 2014-5-22 16:29 编辑

求一段SQLite查询语句
下图数据库中,比如我想以HWID字段,查询数据库中是否有
USB\VID_0BDA&PID_0138数据

SQLite查询语句应该怎样写?谢谢
2#
发表于 2014-5-22 15:27:07 | 只看该作者
以下是delphi 代码实例,修改一下就可以了。

  1. //第一步:连接数据库

  2. constr:='Provider=Microsoft.Jet.OLEDB.4.0;'+
  3.           'User ID=Admin;Jet OLEDB:Database Password=qdsafetyyf;'+
  4.            'Data Source='+ExtractFilePath(Application.ExeName)+'JNJKSJK.mdb;'+
  5.            'Persist Security Info=true';
  6.     adoquery1.ConnectionString := constr;
  7.     form1.ADOQuery1.ConnectionString:=constr;

  8. //第二步:查询记录

  9. var
  10.   i,j:integer;
  11.   newitem :tlistitem;
  12.   ykmc:string;
  13. begin
  14.   ykmc:=edit1.Text;
  15.   ADOQuery1.Close;
  16.   ADOQuery1.SQL.Clear;
  17.   adoquery1.SQL.Add('select * from ykxx where ykdw='''+ykmc+'''');//注意语法格式,'''+ykmc+'''必须是三对单引号
  18.   ADOQuery1.Open;
  19.   ListView1.Clear;
  20.   if edit1.Text='' then
  21.   begin
  22.   showmessage('请输入要查询的业扩单位的名称');
  23.   end;
  24.   if (adoQuery1.RecordCount>0) and (edit1.Text<>'') then
  25.   begin
  26.   for i:=1 to AdoQuery1.RecordCount do
  27.   begin
  28.     newitem:=ListView1.Items.Add;
  29.     newitem.Caption:=AdoQuery1.FieldByName('BH').AsString;
  30.     newitem.SubItems.Add(AdoQuery1.FieldByName('YKDW').AsString);
  31.     newitem.SubItems.Add(AdoQuery1.FieldByName('YKSJ').AsString);
  32.     newitem.SubItems.Add(AdoQuery1.FieldByName('YKNR').AsString);
  33.     ADOQuery1.Next;
  34.   end;
  35.   j:=listview1.Items.Count;
  36.   edit2.Text:=inttostr(j)+'条';
  37.   end;
  38.   if (adoquery1.RecordCount =0) and (edit1.Text<>'') then
  39.    begin
  40.     showmessage('没有符合条件的记录!!!!');
  41.     edit2.Text:='0'+'条';
  42.   end;
  43.   end;
复制代码
回复

使用道具 举报

3#
发表于 2014-5-22 15:43:35 | 只看该作者
procedure TForm1.FormCreate(Sender: TObject);
begin
getdir(0,dir);
try
Adoconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+ExtractFilePath(Application.ExeName)+'\db.mdb'+';Mode=Share Deny None;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5';
adotable1.Connection:=adoconnection1;
adotable1.Open;
adoquery1.Open;
except
    Adotable1.Close;
    adoquery1.Close;
end;
end;


procedure TForm1.Button2Click(Sender: TObject);
......
  with adoquery1 do
    begin
    close;
    sql.Clear;
    sql.Add('select * from 表X where hwid=:USB\VID_0BDA&PID_0138');
    open;
.......


点评

没能成功,可是我不会用,请C大教我一下,最好把完整的代码贴上来,谢谢  详情 回复 发表于 2014-5-22 16:04
谢谢C大,我试试看  详情 回复 发表于 2014-5-22 15:49
回复

使用道具 举报

4#
 楼主| 发表于 2014-5-22 15:49:48 | 只看该作者
chiannet 发表于 2014-5-22 15:43
procedure TForm1.FormCreate(Sender: TObject);
begin
getdir(0,dir);

谢谢C大,我试试看
回复

使用道具 举报

5#
发表于 2014-5-22 15:58:20 | 只看该作者
以前弄过一个驱动HWID采集程序,接触了一点delphi下数据库查询、更新的毛皮。反正要先连接,连接上了,查询内容就多是

select 那些字段 from 表名称 where 关键字=:啥子值

至于复杂的过滤器呀什么的就没搞过了

这样的格式

点评

谢谢提醒,我再想想其他的办法  详情 回复 发表于 2014-5-22 16:21
回复

使用道具 举报

6#
 楼主| 发表于 2014-5-22 16:04:21 | 只看该作者
chiannet 发表于 2014-5-22 15:43
procedure TForm1.FormCreate(Sender: TObject);
begin
getdir(0,dir);

没能成功,可是我不会用,请C大教我一下,最好把完整的代码贴上来,谢谢
回复

使用道具 举报

7#
 楼主| 发表于 2014-5-22 16:21:09 | 只看该作者
chiannet 发表于 2014-5-22 15:58
以前弄过一个驱动HWID采集程序,接触了一点delphi下数据库查询、更新的毛皮。反正要先连接,连接上了,查询 ...

谢谢提醒,我再想想其他的办法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 16:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表