如何解决为什么 DataTable 列在使用 FileHelpers 从 CSV 加载时是只读的?
场景 1:
我还可以更新该数据表中的数据而不会出现问题:
sqlConnection conn = new sqlConnection(gDBConn);
sqlCommand cmd = new sqlCommand("ListData",conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new sqlParameter("@Parm1","*"));
conn.open();
sqlDataAdapter sda = new sqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
conn.Close();
cmd.dispose();
dt.Select()[0]["Col1"]=9; //<--------- Works Fine
场景 2:
从 CSV 文件加载数据表是有问题的。
我无法更新该数据表中的数据。
我收到此错误:
using (var reader = new StreamReader(path))
using (var csv = new CsvReader(reader,CultureInfo.InvariantCulture))
{
using (var dr = new CsvDataReader(csv))
{
var dt = new DataTable();
dt.Load(dr);
}
}
dt.Select()[0]["Col1"]=9; //<--------- Cause error
threw an exception of type 'System.Data.ReadOnlyException'
Data: {System.Collections.ListDictionaryInternal}
HResult: -2146232025
HelpLink: null
InnerException: null
Message: "Column 'IncExcSug' is read only."
Source: "System.Data"
StackTrace: " at System.Data.DaTarow.set_Item(DataColumn column,Object value)\r\n
at System.Data.DaTarow.set_Item(String columnName,Object value)"
TargetSite: {Void set_Item(System.Data.DataColumn,System.Object)}
从 CSV 加载有什么问题,如何使其可更新?
CSV 和 DB 中的数据如下所示:
Col1 Col2 Col3 Col4
-------------------------------------------
1 A 2 M
1 H 6 R
1 K 3 K
3 A 6 D
5 K 3 R
5 E 1 D
8 D 0 I
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。