当前位置: 首页 > 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 算法为例)
  • 大理杨徐邱再审上诉案宣判:驳回上诉,维持再审一审判决
  • 人民日报读者点题:规范涉企执法,怎样防止问题反弹、提振企业信心?
  • 网络游戏用户规模和市场销售创新高,知识产权保护面临哪些挑战?
  • 识味顺德︱顺德菜的醉系列与火滋味
  • 特朗普说克里米亚将留在俄罗斯,泽连斯基:绝不承认
  • 中国太保一季度净赚96.27亿元降18.1%,营收同比下降1.8%