“使用DataSet的中间高速缓存提高了数据库操作效率”

c#项目使用SQLite数据库,使用command命令添加、删除和更改数据,如下所示.操作起来编程工作量大,效率低。

//连接到数据库并打开

string connectionString = "data source=" + @"E:\数据库\;;//地址

SQLiteConnection connection = new SQLiteConnection(connectionString);//连接

connec(); //打开


string sql = "";

//删除所有数据

sql = "delete from user";

SQLiteCommand command = new SQLiteCommand(sql, connection);

command.ExecuteNonQuery();


//添加数据1

sql = "insert into user(id,name,passward) values (1,\"s\",\"sec\")";

command = new sqliteCommand(sql, connection);

command.ExecuteNonQuery();


//修改数据

sql = "update user set name = '" + name + "' , passward = '" + pass + "' where id =" + id;

SQLiteCommand command1 = new SQLiteCommand(sql, connection);

command1.ExecuteNonQuery();

...

针对这个问题,这里介绍使用Dataset缓存的方式,提高工作效率,降低难度。

将数据库中的 部分数据读取到DataSet,然后,可以当做本地数据库,进行数据操作。修改完毕,再将数据同步到数据库。对于数据库,只需要执行读取、导入操作,大大提高了操作效率。

下面,使用一段代码进行说明。

//1.主程序

//批量处理数据

private void button5_Click(object sender, EventArgs e)

{

//连接到数据库并打开

string connectionString = "data source=" + @"E:\;;//地址

SQLiteConnection connection = new SQLiteConnection(connectionString);//连接

connec(); //打开

string sql = "";


//查询

string SQLString = "select * from user"; //sql语句

SQLiteDataAdapter command1 = new SQLiteDataAdapter(SQLString, connection);


//读取数据

DataSet ds = new DataSet();

command1.Fill(ds, "user");


//批量添加数据

string[,] arr = new string[1000, 3];

int num = InPutCsvData("D:\\u;, arr);

string[] array = new string[3];

for (int i = 0; i < num; i++)

{

array[0] = arr[i, 0];

array[1] = arr[i, 1];

array[2] = arr[i, 2];

AddDataToDataset(ref ds, "user", array);

}


//把datable数据批量导入sqlite数据库,生成对应命令

SQLiteCommandBuilder src = new SQLiteCommandBuilder(command1);


//更新数据库表格

command1.Update(ds, "user");

= ds.Tables[0];

connec();

}


导入本地csv格式表格数据

public int InPutCsvData(string path, string[,] array)

{

try

{

int num_line = 0;

using (StreamReader sr = new StreamReader(path, Encoding.Default))

{

string line;

while ((line = ()) != null)// 从文件读取并显示行,直到文件的末尾

{

string[] arr = line.Split(',');


for (int i = 0; i < 3; i++)

array[num_line, i] = arr[i];


num_line = num_line + 1;

}

return num_line;

}

}

catch (Exception ex)

{

Me());

}

return 0;

}


添加数据到Dataset

public void AddDataToDataset(ref DataSet dt,string tablename,string[] arr)

{

DataRow r= dt.Tables[tablename].NewRow();;

for (int i = 0; i < arr.Count(); i++)

{

r[i] = arr[i];

}

dt.Tables[tablename].Rows.Add(r);

}

1.《表格怎么批量修改数据库看这里!C#数据库批量管理数据-sqlite》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《表格怎么批量修改数据库看这里!C#数据库批量管理数据-sqlite》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3200231.html