将WPF中listview的数据导入到SQLITE(C#)
2015-10-22 11:14
561 查看
将listview中的数据导入到SQLITE
本文代码使用的是VS2013listview为WPF中的
数据库为SQLite
获取listview中的信息,添加一个类来存储其中的信息
class listviewName { private string _Header1; private string _Header2; private string _Header3; public string Header1 { get { return _Header1;} set { _Header1 = value;} } public string Header2 { get { return _Header2;} set { _Header2 = value;} } public string Header3 { get { return _Header3;} set { _Header3= value;} } public IPMessage(string Header1, string Header2,string Header3) { _Header1 = Header1; _Header2 = Header2; _Header3 = Header3; }
将listview中的信息导入SQLite中。
string dbPath = Environment.CurrentDirectory + "/SQLname.db";//设置数据库的路径 using (SQLiteConnection conSQL = new SQLiteConnection("Data Source =" + dbPath))//创建连接 { conSQL.Open(); string sql = "CREATE TABLE IF NOT EXISTS TABLEname(headername1 type1,headername2 type2);";//建表语句 (表头的信息:名字 数据类型,每个表头信息用“,”隔开 ex:Status varchar(4),NUM integer) SQLiteCommand cmdCreateTable = new SQLiteCommand(sql, conSQL); cmdCreateTable.ExecuteNonQuery();//如果表不存在,创建数据表 using (SQLiteTransaction tranSQL = conSQL.BeginTransaction()) { for (int i = 0; i < listview.Items.Count; i++) { listviewName listviewmessage = listview.Items[i] as listviewName; SQLiteCommand cmdSQL = new SQLiteCommand(conSQL); cmdSQL.Transaction = tranSQL; cmdSQL.CommandText = "insert into TABLEname values(@headername1,@headername1)"; cmdSQL.Parameters.AddRange(new[]{ new SQLiteParameter("@headername1",listviewmessage.Header1), new SQLiteParameter("@headername2",listviewmessage.Header2) }); cmdSQL.ExecuteNonQuery();//查询 } tranSQL.Commit();//提交 } conSQL.Close(); }
为了避免导入重复的信息到数据库中,添加指定的UNIQUE KEY。
SQLiteCommand cmdCreateUnique = new SQLiteCommand(conSQL); cmdCreateUnique.CommandText = "CREATE UNIQUE INDEX uniqueMAC ON ZD(MACAddress)"; cmdCreateUnique.ExecuteNonQuery();
然后将cmdSQL.CommandText中的insert改为insert or replace,即在重复的时候替换掉没有的情况下添加。
相关文章推荐
- 完美实现Android ListView中的TextView的跑马灯效果
- android上改变listView的选中颜色
- c#调用COM组件
- C#实现把指定数据写入串口
- SQLite教程(十一):临时文件
- C#动态创建button的方法
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#使用加边法计算行列式的值
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- SQLite中重置自动编号列的方法
- C#实现子窗体与父窗体通信方法实例总结
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#异步绑定数据实现方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码