首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mORMot中的示例SQL查询

mORMot中的示例SQL查询
EN

Stack Overflow用户
提问于 2012-10-14 16:43:51
回答 1查看 5.2K关注 0票数 6

我正在使用同步mORMot从Delphi7访问一个SQLite数据库,我希望建立一个连接并通过SQL直接查询数据库,而不使用mORMot的对象关系映射( ORM )特性。

您能提供不依赖于mORMot的ORM功能而执行SQL查询的代码示例吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-14 23:28:28

简而言之:最好是通过SynDB.pas类在SynSQLite3.pas上使用SynDBSQLite3.pas层,因为它将允许您的代码在将来使用通过OleDB / ODBC甚至直接访问的任何数据库(例如对OleDB)进行访问。

例如,使用一个用于保存列数据的变体:

代码语言:javascript
复制
procedure Test(Props: TSQLDBConnectionProperties);
var Customer: Variant;
begin
  with Props.Execute('select * from Customers where AccountNumber like ?',
    ['AW000001%'],@Customer) do
    while Step do
      assert(Copy(Customer.AccountNumber,1,8)='AW000001');
end;

var Props: TSQLDBConnectionProperties;

  Props := TSQLDBSQLite3ConnectionProperties.Create('databasefile.db3','','','');
  try
    Test(Props);
  finally
    Props.Free;
  end;

因此,关于您的问题,请阅读mORMot文档中与SynDB相关的部分,以及所有的相关博客文章。这些类由ORM使用,但是您可以使用那些没有ORM的类。

首先,在TQuery中有一个SynDB.pas包装器,它可以很好地与SQLite3一起工作,并允许“经典”的代码级编程。

但这些单元没有100%的RAD直接访问。只是一些TClientDataSet“填充物”。这不是他们的目的:他们想要快速和直接访问DB的代码,而不是通过UI管道。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12884321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档