使用.NET(c#)操作SQLLITE

<wbr><h1 style="margin: 0px; padding: 0px; display: inline; font-weight: normal; font-size: 20px; vertical-align: middle;"> <span><a href="http://blog.csdn.net/andy511823558/article/details/8651317">使用.NET(c#)操作SQLLITE</a></span> </h1> </wbr>
2013-03-08 16:46<wbr><span title="阅读次数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_view.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;">1606人阅读</span><wbr><span title="评论次数" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_comm.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;"><a href="http://blog.csdn.net/andy511823558/article/details/8651317#comments">评论</a>(0)</span><wbr><span style="margin: 0px 5px;"><a title="收藏">收藏</a></span><wbr><span style="margin: 0px 5px;"><a href="http://blog.csdn.net/andy511823558/article/details/8651317#report" title="举报">举报</a></span></wbr></wbr></wbr></wbr>
使用.NET操作SQLLITE
先下载ADO .NET2.0 Provider for SQLite。下载binaries zip版就可以了。下载完后解压缩,可以在bin目录下找到System.Data.SQLite.DLL。在vs2008中用Add Reference功能把System.Data.SQLite.DLL加到工程里就可以了。运行下面代码试试:
string datasource = "e:/tmp/test.db";
System.Data.SQLite.SQLiteConnection.CreateFile(datasource);
//连接数据库
System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
System.Data.SQLite.SQLiteConnectionStringBu<wbr>ilder connstr = new System.Data.SQLite.SQLiteConnectionStringBu<wbr>ilder();</wbr></wbr>
connstr.DataSource = datasource;
connstr.Password = "admin";//设置密码,SQLite ADO .NET实现了数据库密码保护
conn.ConnectionString = connstr.ToString();
conn.Open();
//创建表
System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();
string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";
cmd.CommandText = sql;
cmd.Connection = conn;
cmd.ExecuteNonQuery();
//插入数据
sql = "INSERT INTO test VALUES('a','b')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
//取出数据
sql = "SELECT * FROM test";
cmd.CommandText = sql;
System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();
StringBuilder sb = new StringBuilder();
while (reader.Read())
{
sb.Append("username:").Append(reader.GetString(0)).Append("\n")
.Append("password:").Append(reader.GetString(1));
}
MessageBox.Show(sb.ToString());

<wbr></wbr>

<wbr></wbr>

///
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// 判断表是否存在,如不存在则创建表<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ///<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ///<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> public static void creatTabel(string tableName)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> //判断表是否存在<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> string sql = "SELECT COUNT(*) FROM sqlite_master where type='table' and name='"+tableName+"'";</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> SQLiteConnection conn = new SQLiteConnection(connectionString);<wbr><wbr> //connectionString<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> SQLiteCommand cmd = new SQLiteCommand(sql, conn);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> conn.Open();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> int recordCount = (int)(Int64)cmd.ExecuteScalar();<wbr><wbr> //如果存在返回1,不存在返回0</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> if (recordCount==0)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> sql = "CREATE TABLE " + tableName + "(username varchar(20),password varchar(20))";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> cmd.CommandText = sql;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> cmd.Connection = conn;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> cmd.ExecuteNonQuery();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> conn.Close();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr></wbr>

<wbr></wbr>

在VS2010中运行以上代码会出现以下问题:

“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在4.0 运行时中加载该程序集

今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常:”<wbr></wbr>

其调用的方法是从sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是准备设断点然后单步调试,结果竟然是断点无法进入方法体内,后来仔细看了一下方法体的时候发现了一个问题,就是现有的System.Data.Sqlite这个数据访问provider是针对.NET2.0环境开发(最新的版本是1.0.66.0,2010年4月18日发布的),而目前官方也没有给出最新的.NET4的数据访问支持。

既然出现这个问题,那肯定是上GOOGLE搜索解决方案,毕竟微软不可能因为升级到了.NET4.0的程序无法访问.NET2.0的程序集吧。后来在著名的stackoverflow.com上果然找到了解决方案,就是在app.config中添加一个配置节:startup

<wbr></wbr>

<wbr></wbr>

<wbr><wbr><wbr></wbr></wbr></wbr>

<wbr></wbr>

<wbr></wbr>

(向项目添加<wbr><span style="color: black;">app.config</span><wbr><span style="color: black;">文件:</span></wbr></wbr>

右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“<wbr><span style="color: black;">app.config</span><wbr><span style="color: black;">”,单击“确定”。出现在设计器视图中的</span><span style="color: black;">app.config</span><wbr><span style="color: black;">文件为:)</span></wbr></wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>
<wbr></wbr>

C#操作Sqlite快速入门及相关工具收集

Sqlite不需要安装即可使用。
Sqlite是不是那个System.Data.SQLite.DLL临时创建了数据库引擎?

1.新建一个WinForm项目,引用System.Data.SQLite.DLL.界面如下

1.1<wbr><wbr><span style="color: rgb(0, 128, 0);">SQLiteConnection.CreateFile(“D:/Data.db3”);</span><br> 这样就可以创建一个数据库文件,名称随意。<br> 封装成一个函数 <div> <div><span><a title="复制代码" href="http://blog.csdn.net/andy511823558/article/details/8651317"><img alt="复制代码" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://common.cnblogs.com/images/copycode.gif" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"></a></span></div> <div> <span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">创建一个数据库文件,保存在当前目录下HyData文件夹下<br></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">CreateDB("HyData.db3");</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"><wbr>CreateDB(</wbr></span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"><wbr>dbName)<br> {<br><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"><wbr>databaseFileName<wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>System.Environment.CurrentDirectory<wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(128, 0, 0);">@"</span><span style="color: rgb(128, 0, 0);">/HyData/</span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"><wbr>dbName;<br><br><wbr><wbr><wbr><wbr>SQLiteConnection.CreateFile(databaseFileName);<br> }</wbr></wbr></wbr></wbr></wbr></span> </div> <div><span><a title="复制代码" href="http://blog.csdn.net/andy511823558/article/details/8651317"><img alt="复制代码" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://common.cnblogs.com/images/copycode.gif" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"></a></span></div> </div> <p><wbr></wbr></p> <p>1.2<wbr> 数据库连接字符串</wbr></p> <div> <span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"><wbr>connStr<wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(128, 0, 0);">@"</span><span style="color: rgb(128, 0, 0);">Data<wbr>Source=</wbr></span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"><wbr>System.Environment.CurrentDirectory<wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(128, 0, 0);">@"</span><span style="color: rgb(128, 0, 0);">\HyData\HyData.db3;Initial<wbr>Catalog=sqlite;Integrated<wbr>Security=True;Max<wbr>Pool<wbr>Size=10</wbr></wbr></wbr></wbr></span><span style="color: rgb(128, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;</span> </div> 这里新建了一个HyData目录存放数据库。<br><br> 1.3<wbr> 执行Sql语句 <div> <div><span><a title="复制代码" href="http://blog.csdn.net/andy511823558/article/details/8651317"><img alt="复制代码" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://common.cnblogs.com/images/copycode.gif" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"></a></span></div> <div> <span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">执行Sql语句<br></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">创建一个表:<wbr><wbr>ExecuteSql("create<wbr>table<wbr>HyTest(TestID<wbr>TEXT)");<br></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">插入些数据:<wbr><wbr>ExecuteSql("insert<wbr>into<wbr>HyTest(TestID)<wbr>values('1001')");</wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"><wbr>ExecuteSql(</wbr></span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"><wbr>sqlStr)<br> {<br><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 255);">using</span><span style="color: rgb(0, 0, 0);"><wbr>(DbConnection<wbr>conn<wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"><wbr>SQLiteConnection(connStr))<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>conn.Open();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>DbCommand<wbr>comm<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>conn.CreateCommand();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>comm.CommandText<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>sqlStr;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>comm.CommandType<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>CommandType.Text;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>comm.ExecuteNonQuery();<br><wbr><wbr><wbr><wbr>}<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span> </div> <div><span><a title="复制代码" href="http://blog.csdn.net/andy511823558/article/details/8651317"><img alt="复制代码" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://common.cnblogs.com/images/copycode.gif" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"></a></span></div> </div> 执行查询语句 <div> <div><span><a title="复制代码" href="http://blog.csdn.net/andy511823558/article/details/8651317"><img alt="复制代码" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://common.cnblogs.com/images/copycode.gif" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"></a></span></div> <div> <span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">执行查询<br></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">ExecQuery("select<wbr>*<wbr>from<wbr>HyTest");</wbr></wbr></wbr></span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"><wbr>ExecQuery(</wbr></span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"><wbr>sqlStr)<br> {<br><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 255);">using</span><span style="color: rgb(0, 0, 0);"><wbr>(DbConnection<wbr>conn<wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"><wbr>SQLiteConnection(connStr))<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>conn.Open();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>DbCommand<wbr>comm<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>conn.CreateCommand();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>comm.CommandText<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>sqlStr;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>comm.CommandType<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>CommandType.Text;<br><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 255);">using</span><span style="color: rgb(0, 0, 0);"><wbr>(IDataReader<wbr>reader<wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>comm.ExecuteReader())<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 255);">while</span><span style="color: rgb(0, 0, 0);"><wbr>(reader.Read())<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>MessageBox.Show(reader[</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(128, 0, 128);">0</span><span style="color: rgb(0, 0, 0);">].ToString());<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>}<br> }<br><br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">执行查询返回DataSet</span><span style="color: rgb(0, 128, 0);"><br></span><span style="color: rgb(0, 0, 255);">private</span><span style="color: rgb(0, 0, 0);"><wbr>DataSet<wbr>ExecDataSet(</wbr></wbr></span><span style="color: rgb(0, 0, 255);">string</span><span style="color: rgb(0, 0, 0);"><wbr>sqlStr)<br> {<br><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 255);">using</span><span style="color: rgb(0, 0, 0);"><wbr>(SQLiteConnection<wbr>conn<wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"><wbr>SQLiteConnection(connStr))<br><wbr><wbr><wbr><wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>conn.Open();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>SQLiteCommand<wbr>cmd<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>conn.CreateCommand();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cmd.CommandText<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>sqlStr;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>cmd.CommandType<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr>CommandType.Text;<br><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>SQLiteDataAdapter<wbr>da<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"><wbr>SQLiteDataAdapter(cmd);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>DataSet<wbr>ds<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"><wbr></wbr></span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"><wbr>DataSet();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>da.Fill(ds);<br><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"><wbr>ds;<br><wbr><wbr><wbr><wbr>}<br> }</wbr></wbr></wbr></wbr></wbr></span> </div> <div><span><a title="复制代码" href="http://blog.csdn.net/andy511823558/article/details/8651317"><img alt="复制代码" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://common.cnblogs.com/images/copycode.gif" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"></a></span></div> </div> <p>本文示例项目源码:HySqlite.rar<wbr><a href="http://revit.5d6d.net/thread-799-1-1.html">http://revit.5d6d.net/thread-799-1-1.html</a><br><br> 2.Sqlite相关工具<br><br> 2.1<wbr> Sqlite数据库可以到<a href="http://www.sqlite.org/"><span style="color: rgb(0, 0, 0);">www.sqlite.org</span></a>下载,非常小<br> 或sqlite-shell-win32-x86-3070600.zip<br><a href="http://revit.5d6d.net/thread-800-1-1.html">http://revit.5d6d.net/thread-800-1-1.html</a><br><br> 2.2<wbr> C#操作Sqlite的官方示例代码,一时忘了url<br> 或<a href="http://revit.5d6d.net/thread-801-1-1.html">http://revit.5d6d.net/thread-801-1-1.html</a>包括<br> SQLite-1.0.66.0-source.zip<br> SQLite-1.0.66.0-binaries.zip<br> debug.rar<br><br> 2.3<wbr> Sqlite两个界面工具<br><img border="0" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://images.cnblogs.com/cnblogs_com/greatverve/sqliteExpert.PNG" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"><br> SQLiteExpertSetup.exe<br><a href="http://revit.5d6d.net/thread-802-1-1.html">http://revit.5d6d.net/thread-802-1-1.html</a>这个比较好用,破解版<br> SQLite Database Browser.exe<br><a href="http://revit.5d6d.net/thread-803-1-1.html">http://revit.5d6d.net/thread-803-1-1.html</a>这个据说用在手机上<br><br> 2.4<wbr> 小巧的界面工具SqliteSpy(感谢<a href="http://www.cnblogs.com/qq419524837/">http://www.cnblogs.com/qq419524837/</a>提供)<br><img border="0" alt="" src="https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif" real_src="http://images.cnblogs.com/cnblogs_com/greatverve/sqlitespy.PNG" width="600" height="400" style="border-style: none; max-width: 100%;" title="使用.NET(c#)操作SQLLITE"><br> 下载:<a href="http://www.yunqa.de/delphi/lib/exe/fetch.php?hash=1da25d&amp;media=http://www.yunqa.de/delphi/downloads/SQLiteSpy_1.9.0.zip" target="_blank">SQLiteSpy</a>或<a href="http://revit.5d6d.net/thread-808-1-1.html">http://revit.5d6d.net/thread-808-1-1.html</a></wbr></wbr></wbr></wbr></wbr></p> <p><wbr></wbr></p> <p><wbr></wbr></p> <p><wbr></wbr></p> <p>//插入数据的另一种方法</p> <p>//先创建表"CREATE TABLE user11(id int(4),name varchar(20),maxlevel int(4),east varchar(20))"</p> <p>private void button5_Click(object sender, EventArgs e)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> //string sql = "INSERT INTO user2 VALUES(1,'a','b',1.0)";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> StringBuilder strSql = new StringBuilder();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("insert into user11(");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("id,name,maxlevel,east)");//<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append(" values (");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> strSql.Append("@ID,@name,@maxlevel,@east)");//</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p> <p> <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> //<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> SQLiteParameter[] parameters = {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>new SQLiteParameter("@ID", TypeAffinity.Text),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>new SQLiteParameter("@name", TypeAffinity.Text),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SQLiteParameter("@maxlevel", TypeAffinity.Int64),<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> new SQLiteParameter("@east", TypeAffinity.Double)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> };<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> parameters[0].Value = 123;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> parameters[1].Value = "name";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> parameters[2].Value = 111;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> double ddd = 1.0;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> parameters[3].Value = ddd; //ddd.ToString();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ExecuteSql(strSql.ToString(), parameters);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p> <p><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> //cmd.CommandText = sql;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> //cmd.Connection = conn;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> //cmd.ExecuteNonQuery();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> MessageBox.Show("添加数据成功");<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p> <p> <wbr><wbr><wbr><wbr><wbr><wbr><wbr> ///<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// 执行SQL语句,返回影响的记录数<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ///<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// SQL语句<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> /// 影响的记录数<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> public static int ExecuteSql(string SQLString, params SQLiteParameter[] cmdParms)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> using (SQLiteConnection connection = new SQLiteConnection("Data Source=e:\\test1.db;Version=3"))<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> using (SQLiteCommand cmd = new SQLiteCommand())<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> try<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> PrepareCommand(cmd, connection, null, SQLString, cmdParms);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> int rows = cmd.ExecuteNonQuery();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> cmd.Parameters.Clear();<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> return rows;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p></wbr></wbr></wbr>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值