InvalidOperationException 异常
我用obedb上传了一个EXCEL文件到服务器,然后遍历sheet1的数据,将数据插入到sql server 2005数据库中,记录稍微多一点(100左右)的时候就会出现假死,跟踪后发现会出现InvalidOperationException 异常,请高手指教!下面是插入数据库的代码段,在线等答案,解决问题加分!!!
for (int i = 0; i < dr.Length; i++)--------------------编程问答-------------------- 从代码看不出什么.......是不是字段值类型引发的? --------------------编程问答--------------------
{
try//校验Excel第一行数据是否包含数据库字段名
{
username = dr[i]["username"].ToString();//[username ] excel列名【名称不能变,否则就会出错】
realname = dr[i]["realname"].ToString();
usertype = dr[i]["usertype"].ToString();
department = dr[i]["department"].ToString();
}
catch
{
Response.Write("<script>alert('Excel表格式与数据库不一致,请修改后再上传!')</script>"); //当Excel表格式不正确时,对用户进行提示
DeleteFile(savePath);
return;
}
if ((username != ""))
{
string sql = "insert into users (username,realname,usertype,department) values('" + username + "','" + realname + "','" + usertype + "','" + department + "')";
try
{
dataBase.Command(sql);
j++;
}
catch (Exception ex) //捕捉异常
{
error += "第" + (i + 2) + "行:\t<em style='color:red;font-sixe:25px;'>" + username + "</em>" + ex.Message + "<br>";
}
}
else
{
error += "第" + (i + 2) + "行:\t记录为空,此行记录无法插入!请修改用户再进行插入<br>";//若用户存在,将已存在用户信息打出,并提示此用户无法插入
}
}
不是字段类型引发的
记录数为几十条的时候就很正常,记录为100多以上的时候就会出现假死,一直卡在那里不走咯。。一直找不到原因,
有没有可能是用for循环访问数据库太频繁导致的? --------------------编程问答-------------------- 哪行报告的错误?你应该
username = dr[i]["username"]==null?"":dr[i]["username"].ToString(); 进行容错 --------------------编程问答--------------------
调试不出哪个地方错误,只有数据记录过多的时候才有可能出这个异常
刚刚才接触不是很懂,
个人感觉是过多的访问数据库导致的..求教高手哇!
补充:.NET技术 , C#