问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VS2010怎么引用SQLite

发布网友 发布时间:2022-05-01 13:00

我来回答

3个回答

懂视网 时间:2022-05-01 17:21

 Visual studio 2010及以上版本,连接SQLite数据库

1、在Sqlite开发站点下载SQLite的.exe安装包

 

Ctrl+F搜索这条语句:This is the only setup package that is capable of installing the design-time components for Visual Studio xxxx

找到对应的VS版本,注意一定要带bundle,集成了设计器;无论32位系统还是64位系统,似乎都要下载32位的(X86)

 

如下图:

 技术分享

 

否则,在Visual Studio中想添加新数据库时没有Sqlite这个选项,下载正确并安装后,在VS中可看到SQLite:

技术分享

 

 2、连接数据库

添加连接--database:db文件

 2、VS2010 在窗体中拉一个按钮和DataGridView,实现点击按钮,在DataGridView显示数据库中的数据

 private void button1_Click(object sender, EventArgs e)
 {
  using (SQLiteConnection con = new SQLiteConnection(Constants.DATA_SOURCE))
  {
  con.Open();
  using (SQLiteCommand cmd = new SQLiteCommand())
  {
   cmd.Connection = con;
   cmd.CommandText = string.Format("select * from jy_cdjy_cdjyhgz");
   int rows = cmd.ExecuteNonQuery();
   SQLiteDataAdapter oraDA = new SQLiteDataAdapter(cmd);
   DataSet ds = new DataSet();
   oraDA.Fill(ds);
   //con.Close();
   DataTable dtbl = ds.Tables[0];
   this.dataGridView1.DataSource = dtbl;
  }
  }





 }

  

 

 

 

参考:

http://blog.csdn.net/missautumn/article/details/18567715

VS2010连接SQLite数据库

标签:tar   blog   窗体   idv   eve   ble   ada   --   string   

热心网友 时间:2022-05-01 14:29

sqlite3.dll动态链接库,它允许程序共享执行特殊任务所必需的代码和其他资源。
动态的sqlite3.lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,其生成的sqlite3.exe在运行时需要相应的dll文件支持 。
静态的sqlite3.lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序,其生成的sqlite3.exe可直接运行。

任务:
一.使用VS2010编译sqlite3,生成动态的sqlite3.lib和sqlite3.dll(sqlite3.dll在官网中也可下载到)。在VS2010中编写简单程序,使用动态的sqlite3.lib和sqlite3.dll。
二.使用VS2010编译sqlite3,生成静态的sqlite3.lib。在VS2010中编写简单程序,使用静态的sqlite3.lib。

任务一:
1.在sqlite官网下载sqlite-amalgamation-3071000.zip 和sqlite-dll-win32-x86-3071000.zip(我用的此版本)。
2.分别解压上述两个文件到各自文件夹下(sqlite3.def、sqlite3.dll在同一文件夹sqlite-dll下)。
3.从VS2010的安装目录下Microsoft Visual Studio 10.0\VC\bin找到lib.exe和link.exe,从VS2010的安装目录下G:\Microsoft Visual Studio 10.0\Common7\IDE找到mspdb100.dll。将lib.exe link.exe mspdb100.dll放到步骤2中的sqlite-dll文件夹下。
4.打开cmd窗口,转到上述sqlite-dll文件夹下,我的是E:\SoftwareDesign\SQLite\sqlite-dll

5.输入命令:LIB /DEF:sqlite3.def /machine:IX86。这时,在sqlite-dll文件夹下会出现sqlite3.lib。(这是动态的sqlite3.lib文件,只有47KB大小。)
6.在VS2010中编写简单程序。文件->新建->项目->Win32控制台应用程序,命名为test1 。
7.将test1.cpp中的内容替换为以下代码:
// test1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include "sqlite3.h"
int _tmain(int argc, _TCHAR* argv[])
{
int rc;
int i, nrows, ncols, tr;
char *errmsg = NULL;
char **results;

sqlite3 *db = NULL;
rc = sqlite3_open("demodb", &db);
if (rc)
{
fprintf(stderr, "can't open db!/n", sqlite3_errmsg(db));
sqlite3_close(db);
exit(1);
}
else
{
printf("db open successfully!/n");
}
sqlite3_get_table(db,"select * from clients;",&results,&nrows,&ncols,&errmsg);
printf("DB has %d rows and %d cols/n/n",nrows,ncols);
tr=(nrows+1)*ncols;
for(i=0;i<tr;++i) //输出查询结果
{
printf("results[%d]= %s/n",i,results[i]); //此处可以自己定义输出格式,
}
sqlite3_free_table(results); //free
sqlite3_close(db);
int a;
scanf("%d",&a);//没有此行代码,运行窗口出现后会马山消失。
return 0;
}
8.将sqlite3.h、sqlite3.lib、sqlite3.dll复制到工程所在文件目录中。我的是E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test1\test1,如下图所示:

9.在VS2010中,右键test1工程,添加->现有项,在出现的对话框中选择上一步中的sqlite3.lib。(必须将lib文件再添加到工程中)
10.按F5键,运行成功。
PS:这时,到工程所在文件目录下找到test1.exe(大小为29KB),我的是在E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test1\Debug。如果直接双击运行的话,会提示因缺少sqlite3.dll文件而无法运行。这是因为动态的sqlite3.lib只是将声明部分编译到test1.exe中,运行时需要dll文件的支持。将sqlite3.dll文件复制到test1.exe同一目录下,再双击运行test1.exe,就会运行成功。

任务二:
1.在VS2010中,文件->新建->项目->Win32项目,命名为sqlite3(其他名称也行)。在向导设置中,选择DLL(D)、空项目。
2.将下载的sqlite-amalgamation-3071000.zip 中的“sqlite3.h”、“sqlite3.c”、“sqlite3ext.h”三个文件添加到工程中,具体做法:右键sqlite3工程->添加->现有项,在出现的对话框中选择上述三个文件。
3.(release版本比debug版本体积小,运行速度快,所以操作中我发布的是release版本)如下图所示

4.按F7键编译(或右键->生成)。在工程所在文件目录中会编译出sqlite3.dll文件。(PS:网上有的讲解需要配置很多的参数等等,试了很多次都不成功,然而按照上述无需多余操作即可成功。可能是VS或sqlite版本不同的原因)
5.编译的同时会在工程所在目录中产生sqlite3.obj文件,我的是在E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\sqlite3\sqlite3\Release下。接下来要用到VS安装目录下的lib.exe文件。将sqlite3.obj文件复制到lib.exe所在目录下,我的是G:\Microsoft Visual Studio 10.0\VC\bin。将G:\Microsoft Visual Studio 10.0\Common7\IDE下的mspdb100.dll,mspdbcore.dll,mspdbsrv.exe,msobj100.dll复制到lib.exe所在目录下。
6.打开cmd窗口,转到lib.exe所在文件夹下,我的是G:\Microsoft Visual Studio 10.0\VC\bin。输入命令:lib sqlite3.obj。这时会生成静态的sqlite3.lib(大小为2.32MB)。

7.在VS2010中编写简单程序。文件->新建->项目->Win32控制台应用程序,命名为test2 。
8.test2.cpp中的代码替换为上述的代码。(任务一步骤7中的代码)
9.将sqlite3.h和步骤6中生成的静态sqlite3.lib复制到test2工程所在的文件目录中,我的是E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test2\test2。
10.在VS2010中,右键test2工程->添加->现有项。选择sqlite3.lib。
11.按F5键,运行成功。
PS:这时,在E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test2\Debug下会生成test2.exe(大小为501KB)。双击可以直接运行。此时不需dll文件支持。因为静态的sqlite3.lib将导出声明和实现都放在lib中,编译后所有代码都嵌入到test2.exe,可直接运行。

热心网友 时间:2022-05-01 15:47

下载一个sqlite for net的安装包,安装之后,然后引用DLL类库就可以用了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我女朋友我在同事面前说她是我媳妇她默认,在她组长面前就不承认了什么... 跨省迁户口需要的手续 户口跨省迁移需要哪些手续? cf空白名字怎么打(cf空白名字怎么打2021) 关于旅行的电影 就是一个人旅行放松心灵那种 不要纪录片 模拟人生2高斯的遗产给儿子还是女儿 模拟人生2如何跟高斯结婚啊? 模拟人生2高斯怎么找到贝拉,找到后能怎么办? 我的米2插上充电器后屏幕一直闪,快速的一下显示充电一下没在充电。请 ... ...屏幕乱闪 充不进去电 用手机连接电脑也是一样 word中表格的水平线是怎么调整的 预备党员组织谈话表现不好 预备党员组织谈话内容? 笔记本电脑正常温度是多少 笔记本电脑正常温度一般是多少? 笔记本电脑一般温度是多少度,为正常, 牙膏可洗脸吗? 牙膏可以洗脸吗?有何坏处? 日常生活中,牙膏可以用来洗脸吗?为什么? 牙膏洗脸可以吗 用牙膏洗脸可以洗的吗? 照片被误删了怎么办?能找回来吗? 信用卡逾期九千多会被起诉吗 富士康香信考勤记录不小心在手机上删除了怎么办 香信富士康app怎么卸载 5173买个完美国际账号、但是不支持双改!我再绑个完美神盾和密保卡,他还能盗走吗? 在淘宝上买双色球安全吗?我是担心改号或是截掉我的奖金。 - 信息提示 诛仙2我购买了一个帐号,邮箱和身份证等都修改了,还会被找回吗? 怎么有这么变态的贱人室友! 华东医药股票股价,000963股票股价 华东医药股份2021年目标价?000963华东医药财报?华东医药2021什么时候分红? 华东医药近期股价,000963近期股价 华东医药股价多少,000963股价多少 华东医药股价是多少,000963股价是多少 000963华东医药财报表 华东医药股历史最高股价?000963华东医药股票价格情况?华东医药明天会涨停吗? 华东医药股票现在是多少钱?华东医药现在股价多少钱?华东医药000963最新消息? 华东医药实时股价,000963实时股价 华东医药 000963 股票行情 华东医药股价最低价,000963股价最低价 华东医药 股价分析,000963 股价分析 为什么华东医药?华东医药2021年业绩报告?000963华东医药同花顺? 青草糊的来历? 青草凉粉吃后头疼 凉粉草、青草豆腐 青草腐是用哪种青草做出来的 羊肉串的肉怎么切 烤肉要怎么切? 如何在VS2010里连接数据库?