输入banner图图片脚本导航/分类

kbmmw 中JSON 中使用SQL 查询

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