当前位置:Gxlcms > 数据库问题 > kbmmw 中JSON 中使用SQL 查询

kbmmw 中JSON 中使用SQL 查询

时间:2021-07-01 10:21:17 帮助过:27人阅读

TForm1.Button5Click(Sender: TObject); var sqls:string; begin sqls:=SELECT ID,name,date FROM datafile FILE(JSON,‘‘.\aaa.json‘‘) + SUBSET ‘‘/result/.*‘‘ + ORDER BY ID; memo2.Lines.Clear; memo2.Lines.Add(sqls); kbmmwmemsql1.ExecSQL(sqls); end;

运行结果如下

技术分享

加入条件,继续查询。

procedure TForm1.Button5Click(Sender: TObject);
var
  sqls:string;
begin
 sqls:=SELECT ID,name,date FROM datafile FILE(JSON,‘‘.\aaa.json‘‘)
      + SUBSET ‘‘/result/.*‘‘
      + where ID=5
      + ORDER BY ID;
  memo2.Lines.Clear;
  memo2.Lines.Add(sqls);
  kbmmwmemsql1.ExecSQL(sqls);
end;

运行结果如下:

技术分享

怎么样,方便不?

有的人可能觉得要存成文件,不方便,怎么办?

好吧,我们换个姿势,再来。

我们可以直接使用Tkbmmwmemsql 直接把JSON 对象加进去,然后像正常的表进行查询。

代码如下:

procedure TForm1.Button6Click(Sender: TObject);
var
   js:TkbmMWJSONStreamer;
   fjson:TkbmMWONCustomObject;
   sqls:string;
begin
     js:=TkbmMWJSONStreamer.Create;
     fjson:=js.LoadFromUTF16String(memo1.Text);
     js.Free;
     kbmmwmemsql1.Tables.Add(MYJSONT,FJSON);

     sqls:=SELECT ID,name,date FROM MYJSON
      + SUBSET ‘‘/result/.*‘‘
      + ORDER BY ID;
  memo2.Lines.Clear;
  memo2.Lines.Add(sqls);
  kbmmwmemsql1.ExecSQL(sqls);
end;

 

运行结果如图

技术分享

同样可以加入查询条件

 

procedure TForm1.Button6Click(Sender: TObject);
var
   js:TkbmMWJSONStreamer;
   fjson:TkbmMWONCustomObject;
   sqls:string;
begin
     js:=TkbmMWJSONStreamer.Create;
     fjson:=js.LoadFromUTF16String(memo1.Text);
     js.Free;
     kbmmwmemsql1.Tables.Add(MYJSONT,FJSON);

     sqls:=SELECT ID,name,date FROM MYJSON
      + SUBSET ‘‘/result/.*‘‘
      + where ID=6
      + ORDER BY ID;
  memo2.Lines.Clear;
  memo2.Lines.Add(sqls);
  kbmmwmemsql1.ExecSQL(sqls);
end;

运行结果如图

技术分享

打完收功。

 

注意,要运行以上例子,请引用kbmMWJSON, kbmMWSQLJSONAPI,kbmMWObjectNotation

这几个单元。

 

kbmmw 中JSON 中使用SQL 查询

标签:控件   order   如何   div   文件名   exe   ati   set   button   

人气教程排行