如何在c#中从CSV中删除记录
本文关键字:删除 记录 CSV 中从 | 更新日期: 2023-09-27 17:54:07
我试图从CSV格式的文本文件中删除记录。下面是我读取和插入记录的代码:
OleDbConnection con = new OleDbConnection();
con.ConnectionString = constr;
con.Open();
OleDbCommand COM = new OleDbCommand();
COM.Connection = con;
COM.CommandText = "select * from shop.txt where id like '" + textBoxSearch.Text + "%'";
OleDbDataAdapter da = new OleDbDataAdapter(COM);
DataSet ds = new DataSet();
da.Fill(ds);
COM.ExecuteNonQuery();
dataGridView1.DataSource = ds.Tables[0].DefaultView;
con.Close();
但它不工作为移除。删除查询如下:delete * from shop.txt where id like <something>
注意:当调用ExecuteNoneQuery
时发生以下异常
oledbeexception:此ISAM不支持删除喜欢列表中的数据。
从文本文件中删除行并不容易-因此OLE适配器不支持它。一些选项:
- 选择需要保存在
DataTable
中的数据,然后导出为csv文件。 - 解析CSV文件,过滤不需要的行,并将所有其他行写入另一个CSV文件。这可能比使用OLE将所有数据加载到内存中然后将它们转储回来要快一点。