//创建一个数据库文件 string datasource=Application.StartupPath + " est.db"; System.Data.SQLite.SQLiteConnection.CreateFile(datasource); //连接数据库 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(); //创建表 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("") .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[] { ‘‘ }); 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数据库
标签:
小编还为您整理了以下内容,可能对您也有帮助:
c#中怎么连接到sqlite数据库
本文实例讲述了C#简单访问SQLite数据库的方法。分享给大家供大家参考,具体如下:
下载最新版SQLite(http://www.sqlite.org/download.html),其他版本也可以,这里使用的版本是sqlite-3_6_6_1
a.解压后copy c:\sqlite-3_6_6_1
b.进入cmd模式,进入sqlite-3_6_6_1目录,执行sqlite3 mytest.db
c.
create table test (seq int,desc varchar(8));
insert into mytable1 values (1,'item');
资料建立完成
2.下载System.Data.SQLite(http://sqlite.phxsoftware.com/),安装,安装后里面会有详细的DEMO和文档。请详细查看。
3.将mytest.db复制到Bin/Debug目录下。
4.打开VS2005,参考System.Data.SQLite安装目录下的System.Data.SQLite.DLL
using System.Data.SQLite;
SQLiteConnection cnn = new SQLiteConnection();
cnn.ConnectionString = @"Data Source=mytest.db;Pooling=true;FailIfMissing=false"
cnn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = cnn;
cmd.CommandText = "SELECT * FROM test";
SQLiteDataAdapter da = new SQLiteDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
// 分页查询显示语句
Select * From test Limit 10 Offset 10;
以上语句表示从Account表获取数据,跳过10行,取10行
c#中怎么连接到sqlite数据库
一、关于SQLite ADO.NET: System.Data.SQLite 是一个原始 SQLite 的加强版。它不需要链接 .NET Runtime,因此可脱离 .NET 发布,它内嵌了一个完整的 ADO.NET 2.0 引擎,为开发提供了完整的支持。
二、在C#中使用SQLite
1. 添加引用: System.Data.SQLite.DLL 。
2. 创建数据库文件: SQLiteConnection.CreateFile(fileName);
3. 连接数据库: var connection = new SQLiteConnection(connectionString);
connectionString 中包含了数据库的一些配置信息,比如数据库文件路径,数据库密码等,可用 SQLiteConnectionStringBuilder 来创建 connectionString,当然也有其他方法,都很简单。
4. 从数据库读取数据。
三、代码:
view sourceprint?
// 注意此处 using 。
using System;
using System.Data.SQLite;
using System.Text;
namespace ConsoleApplication
{
public class SQLiteTester
{
public static void Test()
{
// 1.创建一个数据库文件。
var databaseFileName = "D:/test.db3";
SQLiteConnection.CreateFile(databaseFileName);
// 2.创建数据库连接。
var connectionString = new SQLiteConnectionStringBuilder
{
DataSource = databaseFileName,
Password = "xxxxxx" // 此处假设数据库密码为: xxxxxx。
};
// 当然也可以直接: var connection = new SQLiteConnection("data source=" + databaseFileName + ";password=" + Password);
using (var connection = new SQLiteConnection(connectionString.ToString()))
{
// 3.打开连接。
connection.Open();
c# DataSet 的用法
DataSet dst = new DataSet();
DataTable dt = new DataTable();
dst.Tables.add(dt);
dt.Columns.add("分单号");
dt.Columns.add("销售方案");
dt.Columns.add("客户姓名");
dt.Columns.add("证件号");
dt.Columns.add("操作日期");
Datarow row1= dt.NewRow();
row1["分单号"] = "PC1900A004502287";
row1["销售方案"]="P0127A1";
......
一次类推咯,然后把所有的行就都加上去了。
其实CSDN上都有的追问好的 谢谢
C#里的DataSet到底是干什么用的,怎么用?哪位高手帮我讲解讲解,谢谢啦!
1.DataSet 是DataTable的集合,通过dataSet1.Tables[index] 方式得到DataTable
2.DataSet 及DataTable均存在与内存
3.DataSet中的DataTable可以只有一个,也可以有多个,多个之间可以有关系也可以没有关系相互;
4.DataTable可以通过dataSet1.Tables.Add加入到DataSet中,但此DataTable必须通过copy的方式加入,如:
DataTable dt1=new DataTable();
DataSet ds=new DataSet();
ds.Tables.Add(dt1);//错误
ds.Tables.Add(dt1.Copy());//正确
5.SqlDataAdapter可以填充DataSet也可以填充DataTable,根据实际需要,如sql查询的是返回多个记录集则用DataSet,单个记录集用DataSet和DataTable均可,只是通过dataSet1.Tables[0]转DataTable。
6.DataTable可以设置pk,DataSet中的Table可以设置relation