android 项目将csv文件写入sqlite数据库 代码,如何将csv文件大容量插入sqlite c#

public void loadcheckfiletodatabase(字符串checkfilepath)

{

datatable tentable=getdatatablefromscsv(checkfilepath);

foreach (DataRow DataR in this.memDataTable.Columns)

{

Dictionary Dic = new Dictionary();

foreach (DataColumn DataCol in this.memDataTable.Columns)

{

string field = DataCol.ColumnName.ToString();

object value = (string)DataR[DataCol].ToString();

Dic.Add(field, value);

}

using (SQLiteConnection sQLiteConnection = new SQLiteConnection("data source=" + databasepath))

{

using (SQLiteCommand sQLiteCommand = new SQLiteCommand(sQLiteConnection))

{

System.Data.SQLite.SQLiteHelper sQLiteHelper = new SQLiteHelper(sQLiteCommand);

sQLiteHelper.BeginTransaction();

sQLiteHelper.Insert(tempTable.TableName, Dic);

}

}

}

public static DataTable GetDataTableFromCsv(string path)

{

string pathOnly = Path.GetDirectoryName(path);

string fileName = Path.GetFileName(path);

string sql = @"SELECT * FROM [" + fileName + "]";

using(OleDbConnection connection = new OleDbConnection(

@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathOnly +

";Extended Properties=\"Text;HDR=" + "Yes" + "\""))

using(OleDbCommand command = new OleDbCommand(sql, connection))

using(OleDbDataAdapter adapter = new OleDbDataAdapter(command))

{

DataTable dataTable = new DataTable();

dataTable.Locale = CultureInfo.CurrentCulture;

adapter.Fill(dataTable);

dataTable.TableName = fileName.TrimEnd(new char[] {'.','c','s','v'});

return dataTable;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值