您的当前位置:首页正文

C#操作Dataset数据集与SQLite数据库

2023-11-09 来源:帮我找美食网

//创建一个数据库文件 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

Top