MyProject.exe中发生未处理的“System.NullReferenceException”类型异常 附加信息:对象引用未设置为对象的实例。
它说, StringCollection strCol为null, 但 table.Script()不为空(包括记录)。 它只做一次foreach。当它第二次出现时,它会给出这个例外。 这是我的代码:
foreach (var item in Sourceclb.Items)
{
Table table = database.Tables[item.ToString()];
StringCollection strCol = table.Script();//Gives exception here
var script = "";
foreach (var key in strCol)
{
script += key;
}
command.Connection = ttbl;
command.CommandText = "USE "+_hedefDb+" \n EXEC sp_sqlexec '"+scriptdondur(script)+ "'";
command.ExecuteNonQuery();
txtLog.AppendText("*TABLE COPIED* "+item.ToString()+" has been copied. \r\n");
}
答案 0 :(得分:0)
我认为你需要做
foreach (var item in database.Tables)
而不是
foreach (var item in Sourceclb.Items)
并非Sourceclb.Items
中的所有项都是表格,只要您找到不是{1}}的项目,database.Tables[item.ToString()]
将返回null,结果为table.Script()
的NullReferenceException。< / p>