当前位置: 首页 > news >正文

delphi使用sqlite3

看了一下delphi调用sqlite3最新版本的调用,网上说的都很片面,也没有完整的资料了。

我自己研究了一下,分享出来。

在调用demo中,官方也给了一个demo但是功能很少,没有参考价值。

1.定义:

首先把sqlite3.dll放到bin目录,其他sqlite3.pas,sqlite3udf.pas和SQLiteTable3.pas放到工程目录。

引入SQLiteTable3;

sldb := TSQLiteDatabase.Create(slDBPath);
try

if sldb.TableExists('testTable') then begin
sSQL := 'DROP TABLE testtable';
sldb.execsql(sSQL);
end;

sSQL := 'CREATE TABLE testtable ([ID] INTEGER PRIMARY KEY,[OtherID] INTEGER NULL,';
sSQL := sSQL + '[Name] VARCHAR (255),[Number] FLOAT, [notes] BLOB, [picture] BLOB COLLATE NOCASE);';
上面是创建,这不是重点,这个官方demo也没啥问题。

问题是查询插入和修改时要怎么传参数,用老的方法都是不行的,

例如查询:

sldb.GetTable('SELECT ID FROM testtable where name=?',[nameparam]);

就这样传,参数才能生效。

下面这样就查不到数据,用format格式化也不行:

sldb.GetTable('SELECT ID FROM testtable where name='+QuotedStr(nameparam));

相关文章:

  • 入门版 鸿蒙 组件导航 (Navigation)
  • Java 中的 Continuation:深入理解虚拟线程的基石
  • Uni-app网络请求AES加密解密实现
  • Uniapp:showLoading(等待加载)
  • Docker安装的mysql限制ip访问
  • 1. 用户之窗
  • iVX 图形化编程如何改写后端开发新范式
  • 后端Web实战之登录认证,JWT令牌,过滤器Filter,拦截器Interceptor一篇文章so easy!!!
  • vuex源码分析(一)——初始化vuex
  • truffle
  • SpringMVC 使用thymeleaf 进行数据展示
  • 微信小程序开发中关于首屏加载、本地数据持久化的思考
  • vscode源代码管理Tab-文件右侧标志(M、A 等)的含义
  • Unity AI-使用Ollama本地大语言模型运行框架运行本地Deepseek等模型实现聊天对话(二)
  • 线性代数与数据学习
  • k8s基本概念-YAML
  • flume----初步安装与配置
  • 9.Three.js中 ArrayCamera 多视角相机详解+示例代码
  • Dockerfile讲解与示例汇总
  • C++ 解决一个简单的图论问题 —— 最小生成树(以 Prim 算法为例)
  • 科技日报刊文批院士专家“赶场式”跑会:助长浮躁之气功利之心
  • “穿越看洪武”,明太祖及其皇后像台北故宫博物院南院展出
  • 刘翔的赛会纪录被改写,田径钻石赛在赛场内外交出精彩答卷
  • 五一假期前两日,多地党政主官暗访景点、商圈安全工作
  • 多地景区发公告称售票达接待峰值,有景区暂停网络和线下售票
  • 《一鸣惊人》五一特别节目:以戏曲为桥梁,展现劳动者的坚守