sqlite插入数据,主键重复怎么办?
1.使用唯一性约束,但是如果在一个事务中批量提交,失败会导致整个事务回滚。
2.在决定是否插入这个数据之前使用select查询数据是否重复比较麻烦,尤其是字段比较多的时候,而且没有效率上的对比测试。
3.使用语句ins
如何在Delphi中静态链接SQLite?
1.当然是下载SQLit:amalgamation不是allinone,是corecodeallinone,源代码里的其他文件都是不可或缺的!
2.解压得到三个文件sqlite3.csqlite3.hsqlite3ext。
h然后把sqlite3.c编译成obj在Delphi中使用。需要注意的是,不要用VC编译,要用BorlandsC编译器,比如Delphi自带的bcc。这主要是因为VC编译的obj是COFF格式的。Borland用的obj是命令行:bc32-PC-RT-O-W-6-I(bcc32)include-csqlite3.C3.光有sqlite3.obj是不够的,呵呵。因为sqlite3.c有到其他库的链接,所以所有要使用的obj文件都可以下载。4.现在所有的obj文件都准备好了,但是不要不要太高兴,现在只完成了一小部分...要在Delphi的obj中使用这些函数,你必须首先声明你必须首先创建一个新的单元,例如,然后指定链接的obj文件。比如{$lobjsqlite3_5_4.obj}{$lobstreams.obj}//duplicato{$lobj_FTOul.obj}{$lobfiles.obj}注意顺序,呵呵,然后添加函数声明,比如使用sqlite3_open方法。在sqlite的源代码中,声明如下:SQLite_apintsqlite3_open(constchar*fil:sqlit:函数_sqlit:汽车;vardb:point:integer;cdecl外部;注意调用方法是cdecl,函数名要以_开头,否则你不会找到很多sqlite3函数。哦,呵呵,那这就是为什么我说这项工作只完成了一部分...5.好了,功能声明完成,现在可以正式使用了~