我有一小段代码反复创build了一个SqlDataAdapter对象。 为了简化我的调用,我用SqlCommandreplace了SqlDataAdapter ,并将SqlConnection移到了循环之外。 现在,每当我尝试编辑返回到我的DataTable的数据行时,我得到一个抛出不抛出的ReadOnlyException 。 注意:我有一个自定义函数,根据它的ID检索员工的全名。 为了简单起见,我在下面的示例代码中使用了“John Doe”来展示我的观点。 ExampleQueryOld与SqlDataAdapter一起使用 ; 每当我尝试写入DataRow的元素时, ExampleQueryNew都会失败并返回ReadOnlyException : ExampleQueryOld 这工作,没有问题: public static DataTable ExampleQueryOld(string targetItem, string[] sqlQueryStrings) { DataTable bigTable = new DataTable(); for (int i = 0; i < sqlQueryStrings.Length; i++) { string sqlText = sqlQueryStrings[i]; DataTable data = new DataTable(targetItem); using (SqlDataAdapter da = new SqlDataAdapter(sqlText, Global.Data.Connection)) { […]