近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘: 一、SQLite操作,直接贴代码,很简单
来源:互联网 发布:做淘宝必须用电脑吗 编辑:程序博客网 时间:2024/04/29 06:57
近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘:
一、SQLite操作,直接贴代码,很简单:
//创建一个数据库文件
string datasource=Application.StartupPath + "\\test.db" ;
System.Data.SQLite.SQLiteConnection. CreateFile (datasource);
//连接数据库
System.Data.SQLite.SQLiteConnection conn =
new System.Data.SQLite. SQLiteConnection ();
System.Data.SQLite.SQLiteConnectionStringBu ilder connstr =
new System.Data.SQLite. SQLiteConnectionStringBuilder ();
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('dotnetthink','mypassword')" ;
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 ());
二、利用Dataset数据集向SQLite数据库插入数据,也直接贴代码:
DialogResult dlgResult= openFileDialog1. ShowDialog (); // 打开要导入的文件
if (openFileDialog1.FileName == "" || dlgResult != DialogResult.OK)
return ;
// 利用StreamReader类读取文本内容
StreamReader sr= new StreamReader
(File. OpenRead (openFileDialog1.FileName),System.Text.Encoding.Default);
//连接数据库
System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite. SQLiteConnection ();
System.Data.SQLite.SQLiteConnectionStringBuilder connstr
= new System.Data.SQLite. SQLiteConnectionStringBuilder ();
connstr.DataSource = datasource;
connstr.Password = "admin" ; //设置密码,SQLite ADO.NET实现了数据库密码保护
conn.ConnectionString = connstr. ToString ();
conn. Open ();
//大量更新时采用事务的方式,先缓存事务,然后SQLiteDataAdapter.update后批量commit
SQLiteTransaction ts = conn. BeginTransaction ();
string sql= " select name,number from test limit 1" ;
SQLiteDataAdapter dta = new SQLiteDataAdapter (sql,conn);
SQLiteCommandBuilder scb = new SQLiteCommandBuilder (dta);
dta.InsertCommand=scb. GetInsertCommand ();
DataSet DS = new DataSet ();
dta. FillSchema (DS,SchemaType.Source, "Temp" ); //加载表架构 注意
dta. Fill (DS, "Temp" ); //加载表数据
DataTable DT = DS.Tables[ "Temp" ];
//插入数据
while (!sr.EndOfStream)
{
string [] strArr = sr. ReadLine (). Split ( new Char[] { '\t' });
if (strArr[ 0 ] != "" && strArr[ 1 ] != "" )
{
DataRow DR = DT. NewRow ();
DR[ 0 ]=strArr[ 0 ];
DR[ 1 ]=strArr[ 1 ];
DT.Rows. Add (DR);
}
}
int result=dta. Update (DT); // 如不用BeginTransaction和Commit批量提交事务,性能会很低,350条数据20多秒
ts. Commit (); // 提交事务
DS. AcceptChanges ();
// 释放资源
dta. Dispose ();
DS. Clear ();
conn. Close ();
conn. Dispose ();
sr. Close ();
sr. Dispose ();
MessageBox. Show ( "成功导入了: " + result. ToString () + " 行数据。" , "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
- 近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘: 一、SQLite操作,直接贴代码,很简单
- 近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘:
- C#操作Dataset数据集与SQLite数据库
- 页面aspx里面有一个DataSet ds,且他下面的几个用户控件uc1,uc2,uc3都有用到这个ds相同的数据,所以我想要让这个ds在整个页面中使用
- SQLite数据库的简单操作
- SQlite 数据库的简单操作
- 详细介绍C#操作SQLite数据库从下载到编程的整套方法
- [Sqlite]-->Java使用jdbc连接Sqlite数据库进行各种数据操作的详细过程
- C#引用System.Data.SQLite操作SQLite数据库一例
- .C# 操作SQLite数据库
- c# 操作Sqlite数据库
- C#操作SQLite数据库
- C#操作SQLite数据库
- C#操作SQLite数据库
- C#操作SQLite数据库
- C#操作SQLite数据库
- C# 操作sqlite数据库
- C#操作SQLite数据库
- Android ButterKnife Zelezny插件的安装与使用(可视化一键生成)
- 简单使用RxBus替代EventBus
- Android中如何修改系统时间(应用程序获得系统权限)
- springMVC使用配置文件开发的三种handelMapping
- 缓解鼻塞速效办法
- 近日有需要写点C#程序,有用到Dataset数据集和SQLite数据库,由于我从来就不擅长记各种编程语言的语法,所以在查阅一堆资料后,留下以下内容备忘: 一、SQLite操作,直接贴代码,很简单
- Burp Suite使用详解一
- 欧拉
- dpdk中文-mtcp如何使用自己的DPDK
- 【深度学习】深度学习和神经网络这项技术
- grep不区分大小写查找字符串方法
- 用JS实现不同浏览器的图片预览功能
- 队列
- memcache集群服务:memagent配置使用