C# 如何在C中从CSV中删除记录?
我正在尝试从CSV格式的文本文件中删除记录。以下是我读取和插入记录的代码:C# 如何在C中从CSV中删除记录?,c#,csv,C#,Csv,我正在尝试从CSV格式的文本文件中删除记录。以下是我读取和插入记录的代码: OleDbConnection con = new OleDbConnection(); con.ConnectionString = constr; con.Open(); OleDbCommand COM = new OleDbCommand(); COM.Connection = con; COM.CommandText = "select * from shop.t
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();
但它不适用于删除。删除查询如下所示:从shop.txt中删除*
注意:调用ExecuteOneQuery时发生以下异常
OLEDBEException:此ISAM不支持删除相似列表中的数据 从文本文件中删除行并不容易-因此OLE适配器不支持它。一些选择: 选择要保留在数据表中的数据,然后将其导出到csv文件。 解析CSV文件,过滤不需要的行,并将所有其他行写入另一个CSV文件。这可能比使用OLE将所有数据加载到内存中,然后将其转储回内存要快一些。
查询将从shop.txt中删除。。。delete语句中没有*。啊。我也错过了你问题的最后一部分。看起来无法使用带有OLE的CSV文件进行更新和删除。如果可以的话,您可能需要考虑使用其他数据格式。