LabVIEW

 找回密码
 注册

扫一扫,访问微社区

查看: 2778|回复: 5

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

  [复制链接]
发表于 2011-12-6 09:54:52 | 显示全部楼层 |阅读模式
USB-6009数据采集卡首发
本帖最后由 longd99 于 2013-3-19 15:50 编辑
3 o1 w5 F) s* o7 f/ Z
# g! T9 Y0 y6 y9 u提供最新版sqlite数据库下载 ,包括.dll,.lib,.h
2 P- {8 d) [' J8 N, x此处的sqlite3.lib是用原版sqlite3.dll 和sqlite3.def,用VS2005生成,保证原滋原味。- t+ Q* E; J) G( {$ I2 U  d) x/ J
3.7.9& d& q3 F9 y8 v/ Z2 a
sqlite3.7.9_dll.rar (331.47 KB, 下载次数: 91)
IDAQ-USB-6009数据采集卡
发表于 2012-7-23 17:07:34 | 显示全部楼层
在线课堂
能讲解一下CVI静态调用SQLite3吗???$ M3 _9 N  J+ F! C
我这一直不行,一开始提示   sqlite3_api未定义8 E& f, ?! P2 U1 p
后来在sqlite3ext.h中发现# p7 Q! [; b9 C. m# ?' }8 j
#define SQLITE_EXTENSION_INIT1     const sqlite3_api_routines *sqlite3_api = 0;, n/ R$ d' i0 u3 E9 N4 X
#define SQLITE_EXTENSION_INIT2(v)  sqlite3_api = v;
( |$ R- N7 y2 s* V/ W4 w3 D( K6 r
0 D3 ~7 H. n* Y, ?于是定义时,这样( @. L$ q: c) S: k. J
SQLITE_EXTENSION_INIT1;2 C3 X5 H7 B0 K' S
sqlite3 *gDB_pst = NULL;! c2 Y1 [, d$ X: `' f7 U" Y
编译成功,但是运行时,; W/ z; Z" @# F) S2 U8 W6 |9 X
r = sqlite3_open("testDB.db",&gDB_pst);3 b/ H/ i& _! N1 A, }
这一句提示9 g7 ~# ~  a, w, v& j2 n
FATAL RUN-TIME ERROR:   "SQlite3Test.c", line 32, col 17, thread id 0x0000014C:   Dereference of null pointer.
7 J6 n- z) o$ w  Z) j; ?# K9 B- }6 Y! y8 s
是怎么回事呢??那里设置不对,请指教!
 楼主| 发表于 2012-7-23 21:34:24 | 显示全部楼层
jackielau 发表于 2012-7-23 17:07
) `4 n+ T+ B  k, ?! Z- n能讲解一下CVI静态调用SQLite3吗???1 {9 I0 N8 U6 Z  Y$ c' p$ X0 |% O
我这一直不行,一开始提示   sqlite3_api未定义6 j. {1 L8 w- t# g8 u2 a3 |
后来在sqlite3ext ...

" U# F$ G" P. V# `1 P' w: h. _: d9 y给你一个小简单例程你参考一下吧(可能不完美,但是运行没问题)
! _( L! U1 F! W$ h; y+ Z* B, n// sqlite3.lib要加入工程中。
  1. # f3 k3 R0 N* f( g8 K
  2. #include "sqlite3.h") a( \: P/ L' o; T$ `
  3. #include <ansi_c.h>     4 h9 a* s6 I* k5 h

  4. ' {# O8 ~! [1 F; w: z6 V# e& s
  5. static int _sql_callback(void * notused, int argc, char ** argv, char ** szColName)( k3 H% w; C& u
  6. {
    . e9 a3 i6 B$ y( Q: s
  7.     int i;6 r. g# E/ N% Q( d! M7 W5 g
  8.     for ( i=0; i < argc; i++ )
    & k8 D! A6 D$ C& t6 {5 |) O
  9.     {
    ' a6 u( P! u" Q
  10.         printf( "%s = %s\n", szColName[i], argv[i] == 0 ? "NUL" : argv[i] );1 p, c& }1 q3 S, b- x3 O* h, q
  11.     }
    ; |! j, Z0 O4 Q: A
  12. , P6 }2 h7 L" U$ D/ U, F* J4 e
  13.     return 0;
    ; Z1 Y( w$ T/ K1 B8 X: c# X* v
  14. }
    % b* \( Z" k4 Q, V* A

  15. 8 N# A; x; W/ k& l
  16. int main(int argc, char * argv[])
    + d' E( K& G# M* X) B; u
  17. {# Z0 K+ f* [0 x* y+ d4 h
  18.     const char * sSQL1 = "create table users(userid varchar(20) PRIMARY KEY, age int, birthday datetime);";5 W; F- j0 Z/ c% V' W
  19.     const char * sSQL2 = "insert into users values('wang',20,'1989-5-4');";
    2 v# G" G& K- |+ t# U4 W$ z# ]& D8 S
  20.     const char * sSQL3 = "select * from users;";/ N6 I* V6 r9 Q) S5 [1 t

  21. & |. F3 M& e# X3 ?% O
  22.     sqlite3 * db = 0;
    " A& C6 z# y1 D
  23.     char * pErrMsg = 0;
    . a7 `" N  Y! [' R% P" ^
  24.     int ret = 0;: U+ K) n6 Y8 S7 I8 o
  25.    
    % P2 {5 R6 X. f* X( O7 A9 d& J
  26.     // 连接数据库6 s3 }, F  r3 }
  27.     ret = sqlite3_open("./test.db", &db);
    + K0 x+ r4 J4 {3 k1 p

  28.   C" a5 z/ U: m. M. F, u
  29.     if ( ret != SQLITE_OK )
    . s7 Z5 g; o7 q2 }: [; U( H  t
  30.     {' K- s# ?4 k# \" i, \1 c
  31.         fprintf(stderr, "无法打开数据库: %s", sqlite3_errmsg(db));* X$ b9 V1 }! l4 a4 n. q
  32.         return(1);
    0 m. W$ Q# B1 S9 j) Q
  33.     }+ j3 \- M8 V  N: H7 D

  34. 6 F$ t( D4 r. `7 P- y
  35.     printf("数据库连接成功!\n");
    1 e( ~& A2 K6 l: U) |- o7 I

  36. 6 }6 D; D; V- w, |
  37.     // 执行建表SQL" I6 Z$ R6 L+ [3 M

  38. / B: E/ Y7 s& M7 V1 C0 v4 L
  39.     sqlite3_exec( db, sSQL1, 0, 0, &pErrMsg );
    , K2 s$ `3 U1 A& }4 @
  40.     if ( ret != SQLITE_OK )& }! s6 I$ N2 C- w( R% x
  41.     {
    5 I% U% Q' ^( z; l# j7 d
  42.         fprintf(stderr, "SQL error: %s\n", pErrMsg);. J: G8 M# c  R) e% C( T- A& }/ v, S& n
  43.         sqlite3_free(pErrMsg);5 X9 \. L9 O' B/ \! r8 R9 n
  44.     }
    6 H; ?6 C( q8 p9 n
  45. 9 x+ j; x8 t6 u* c2 k
  46.     // 执行插入记录SQL; |3 {% R/ P% c3 \7 J' U
  47.     sqlite3_exec( db, sSQL2, 0, 0, &pErrMsg);
    : _) s* @8 p5 {" @
  48.   T- S* z& e+ i6 S' o
  49.     // 查询数据表
    2 h( x, }- m! t
  50.     sqlite3_exec( db, sSQL3, _sql_callback, 0, &pErrMsg);
    9 S' U: l% l' A

  51. # C) _; M' l! B- N# f  k- P
  52.     // 关闭数据库8 f9 b0 i3 C% I3 f( l. d: l
  53.     sqlite3_close(db);
    - w! b' b" n( x- v( X
  54.     db = 0;
    & S: X3 \% A& ?% S; c$ Y
  55.     getchar();7 ~3 g9 }2 D% H9 a1 |8 y
  56.     return 0;
    * K8 E3 G  r1 I1 ~; q/ ?+ e
  57. }! H3 {. [4 b9 M, C
复制代码
发表于 2012-7-24 10:46:21 | 显示全部楼层
感谢楼主,OK了
8 `6 t7 c1 ~/ ~; {9 C1 z$ ^* P
" C9 [* ]# M) @% j/ O* y6 Jr = sqlite3_open("testDB.db",&gDB_pst);这样不可以) H# T7 f( i( N3 d& J* C
r = sqlite3_open("./testDB.db",&gDB_pst);这样可以
 楼主| 发表于 2012-10-14 13:04:42 | 显示全部楼层
jackielau 发表于 2012-7-24 10:46
8 F8 a! P1 ^: b- W感谢楼主,OK了
" X2 o7 _! G5 F5 `8 r2 N) Q2 u  X! r* T9 C0 `
r = sqlite3_open("testDB.db",&gDB_pst);这样不可以

1 F( M0 r% a" S/ s) k* P2 ]我感觉和 ./ 好像没关系,在我电脑上加不加 ./ 是一样的。
2 w% l/ G, l' _) e$ z是不是你的例程目录有中文字符?CVI在某些情况下,中文目录会不正常的。
发表于 2019-6-12 14:05:48 | 显示全部楼层
很不错,继续学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2019-6-25 17:27 , Processed in 0.031879 second(s), 25 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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