LabVIEW

 找回密码
 注册

扫一扫,访问微社区

查看: 2805|回复: 5

[下载贴] sqlite3.dll_3.7.14.1 最新版,包括.dll,.lib,.h

  [复制链接]
发表于 2011-12-6 09:54:52 | 显示全部楼层 |阅读模式
USB-6009数据采集卡首发
本帖最后由 longd99 于 2013-3-19 15:50 编辑 4 G1 m2 j7 b9 N9 d) @
! `( i$ Q9 m3 |( q
提供最新版sqlite数据库下载 ,包括.dll,.lib,.h
% _- x& L+ \2 P8 W此处的sqlite3.lib是用原版sqlite3.dll 和sqlite3.def,用VS2005生成,保证原滋原味。
  D. r. E7 A7 ?2 ]3.7.9
- [$ p+ U5 H5 |% u' O% | sqlite3.7.9_dll.rar (331.47 KB, 下载次数: 91)
IDAQ-USB-6009数据采集卡
发表于 2012-7-23 17:07:34 | 显示全部楼层
在线课堂
能讲解一下CVI静态调用SQLite3吗???
1 }9 l/ }: B  Z- i: J我这一直不行,一开始提示   sqlite3_api未定义
5 V" u/ `3 C: }4 x后来在sqlite3ext.h中发现0 w: G: [/ S( r0 N2 o
#define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api = 0;/ N0 N" Y- J: a0 G. R9 o& h# _
#define SQLITE_EXTENSION_INIT2(v)  sqlite3_api = v;; F( `' {& Z0 y7 n- P

7 h5 N2 S8 \; B7 h- U! G于是定义时,这样' u. G7 q: ~8 N7 b& L, z
SQLITE_EXTENSION_INIT1;
9 K' R& s# H; T# U& k. Ssqlite3 *gDB_pst = NULL;' C1 B& l: ]0 T  Z/ O
编译成功,但是运行时,
4 T4 F9 w, {  i- b/ Dr = sqlite3_open("testDB.db",&gDB_pst);
+ r4 L) U" _8 H  Y这一句提示
7 U1 C5 T( K8 \& q8 M5 SFATAL RUN-TIME ERROR:   "SQlite3Test.c", line 32, col 17, thread id 0x0000014C:   Dereference of null pointer.
1 `, x1 a8 b# b( X& K
7 B( Y5 `1 d6 ?$ R9 ^. g' u是怎么回事呢??那里设置不对,请指教!
 楼主| 发表于 2012-7-23 21:34:24 | 显示全部楼层
jackielau 发表于 2012-7-23 17:07 : K$ ]: E0 e+ D7 r1 {* I
能讲解一下CVI静态调用SQLite3吗???6 S" T' F& S( i9 ~3 z  `" A
我这一直不行,一开始提示   sqlite3_api未定义
& B* P. i& A7 `5 v6 V后来在sqlite3ext ...
" F1 y6 m: A$ a$ T
给你一个小简单例程你参考一下吧(可能不完美,但是运行没问题)
$ Q& D; E, b6 V  u; E5 ]. d6 V! d// sqlite3.lib要加入工程中。
  1. * Y+ |2 V& {# ^" m; u! Q
  2. #include "sqlite3.h"9 I+ z) y1 j6 U  w2 o
  3. #include <ansi_c.h>     
    7 n( I8 }$ q. X4 @

  4. # B* g( x# \6 O
  5. static int _sql_callback(void * notused, int argc, char ** argv, char ** szColName)  A8 r( B# t2 e: ]
  6. {
    % `- k- N, U3 S, t* I
  7.     int i;
    / D/ A3 b# J. X) Q5 A
  8.     for ( i=0; i < argc; i++ )$ Y! {- _: n( \' N" v$ P& h# A
  9.     {* r1 Y! D7 u) Q% \* ~
  10.         printf( "%s = %s\n", szColName[i], argv[i] == 0 ? "NUL" : argv[i] );6 g0 j- I! y! X2 W& _
  11.     }0 m$ B, B( Q( o! j
  12. 2 _( ^7 F" d7 n4 M/ `* i
  13.     return 0;
    9 H2 a7 N1 k) @4 ?
  14. }6 r" I; C+ F. @0 G
  15. & `/ a- o4 k3 J" o
  16. int main(int argc, char * argv[])3 [! U3 R* H2 Q% _
  17. {
    ' z% w+ s" G! H5 b
  18.     const char * sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age int, birthday datetime);";8 e7 s/ I3 k* P
  19.     const char * sSQL2 = "insert into users values('wang',20,'1989-5-4');";
    8 ]; t# b& x2 J' l* |# @3 t+ J7 B
  20.     const char * sSQL3 = "select * from users;";5 |" e- H6 i3 ?, k

  21. 5 y% ]+ t# b9 ]8 w' ]( h# G
  22.     sqlite3 * db = 0;" g$ i+ N  j* w* u
  23.     char * pErrMsg = 0;/ ~; P- y9 ^7 H4 o( ]; d
  24.     int ret = 0;
    9 ~0 L# Q0 v+ W2 D* i
  25.    
    0 [- S# m. J8 M# M! A; V) C( q/ z
  26.     // 连接数据库
    4 V6 p4 v+ I2 ], ~5 n" `
  27.     ret = sqlite3_open("./test.db", &db);+ ~- Q, N! t  g

  28. ) O: s3 A7 e5 ]% |0 j- z
  29.     if ( ret != SQLITE_OK )8 ]# ~9 ~' x8 o' s. A
  30.     {
    ; h0 p# G% [, `/ t' ]7 H8 O
  31.         fprintf(stderr, "无法打开数据库: %s", sqlite3_errmsg(db));# g+ V! p* a( v' v4 r; o
  32.         return(1);+ K' K9 J( i+ g0 C' ]" m
  33.     }
    9 U* b) @( Y: b* y3 p  @' Y4 c% v
  34. - E' ~, R6 b- [, H: m
  35.     printf("数据库连接成功!\n");/ H! G. L  ^1 d9 L/ M* f: v; ~' K

  36. ) V  \- R0 N0 q4 I9 c  ?) b( ]
  37.     // 执行建表SQL
    " D( x8 ^2 g& j6 f3 j
  38. 0 u; W& E6 t9 k+ m3 u- X: H
  39.     sqlite3_exec( db, sSQL1, 0, 0, &pErrMsg );6 J# M/ K! H- o5 ?0 r
  40.     if ( ret != SQLITE_OK )
    9 o& r. W+ A% H1 l! I0 A
  41.     {
    7 T" J) f. \" }4 N  b
  42.         fprintf(stderr, "SQL error: %s\n", pErrMsg);
    4 |$ w2 z1 U( z; v9 F' }
  43.         sqlite3_free(pErrMsg);
    6 i7 b* M7 h2 w
  44.     }+ y* @/ b& c- r$ {4 _
  45. * T" c, o2 N) y( v' R% m2 @
  46.     // 执行插入记录SQL
    4 }! r2 Q; _4 L; D6 D6 w
  47.     sqlite3_exec( db, sSQL2, 0, 0, &pErrMsg);7 Z7 Q, P5 M& [9 q% o
  48. . k" l, o; S5 ?7 ?* }* M
  49.     // 查询数据表
    6 P( X  s1 u. X; t/ Q2 Q
  50.     sqlite3_exec( db, sSQL3, _sql_callback, 0, &pErrMsg);
    , Q4 B7 b- E6 R) h" n& n8 q

  51. " U. d" ?) c5 H. o9 K/ P* Z! T8 l
  52.     // 关闭数据库
    # ?5 v) Q" I# y- J
  53.     sqlite3_close(db);
    6 U9 X5 W: J1 n' ?( q
  54.     db = 0;
    ! B! C% @- s% u" K# w
  55.     getchar();2 @' B  ~+ `4 `# a" }/ q
  56.     return 0;
    / G. F, V5 _, t% w6 `- s
  57. }
    2 {- e8 i2 G& {) F1 P; r
复制代码
发表于 2012-7-24 10:46:21 | 显示全部楼层
感谢楼主,OK了' `2 O3 h* A+ T. L
" T% X3 g) O; m  v' @4 [
r = sqlite3_open("testDB.db",&gDB_pst);这样不可以: r5 |* Y( F7 p5 B
r = sqlite3_open("./testDB.db",&gDB_pst);这样可以
 楼主| 发表于 2012-10-14 13:04:42 | 显示全部楼层
jackielau 发表于 2012-7-24 10:46   P# }- q* V; Y4 _- _2 i9 B
感谢楼主,OK了; W% |) O; ]1 j  o( O+ Q9 N
+ K6 b" `* L* Q- A- q
r = sqlite3_open("testDB.db",&gDB_pst);这样不可以
! A! X1 S2 ]5 B9 K4 Q
我感觉和 ./ 好像没关系,在我电脑上加不加 ./ 是一样的。6 U" E( J  L8 t, L
是不是你的例程目录有中文字符?CVI在某些情况下,中文目录会不正常的。
发表于 2019-6-12 14:05:48 | 显示全部楼层
很不错,继续学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|无图浏览|手机版|网站地图|虚拟仪器家园 ( 沪ICP备13044638号-3 )

GMT+8, 2019-9-21 18:52 , Processed in 0.032254 second(s), 27 queries , Gzip On, MemCache On.

Powered by vihome X3.4

© 2006-2019 IOEDU Inc.

快速回复 返回顶部 返回列表