。。。。。我用sql插入的。。。我现在纠结的就是获取信息 catch里面根据Exception 来判断么?我之前从数据库提出一个table 然后循环table的行 然后插入另外一张表。 现在完全不知道怎么在catch里面获取值,如果用Exception 得出的是某个字段不合格或者什么什么的,我想获取的是整条不能录入的数据,包括所有的字段,那些大爷些乱填表,导致常常有字段不符合最后的规格。。。
C# code
写日志也行:
看这些个方法:
#region 日志相关
/// <summary>
/// 写日志文件
/// </summary>
/// <param name="log"></param>
public static void WriteLog(string log)
{
string filename = GetAppPath() + "Log" + DateTime.Today.ToString("yyyyMMdd") + ".log";
WriteLog(log, filename);
}
/// <summary>
/// 写日志文件
/// </summary>
/// <param name="log">日志字符串</param>
/// <param name="filename">日志文件名(包含完整路径)</param>
public static void WriteLog(string log, string filename)
{
try
{
StreamWriter sw = File.AppendText(filename);
sw.WriteLine(log);
sw.Flush();
sw.Close();
}
catch
{}
}
#endregion
#region 操作系统常用信息获取
/// <summary>
/// 获取当前路径
/// </summary>
/// <returns></returns>
public static string GetAppPath()
{
string path = AppDomain.CurrentDomain.BaseDirectory + @"\";
return path.Replace(@"\\", @"\");
}
你怎么插的啊?for循环一条条插?
string idstr=null;
for(...){
try{
//插入
}catch{
idstr+=出错记录的id+“,”;
}
}
string [] id=idstr.Trim(',').Split(',');
这样,在id数组里都是有问题的东东。
引用 7 楼 longww0513 的回复:
断点是这样做的 但是1万多条数据 可能有3000多因为导入库的字段格式不合而无法导入,这样记录台麻烦 容错机制我用了的 就是想请教在catch里面我怎么提取数据?我想写在txt里面
执行的地方try catch啊
数据库 写语句直接批量插入 对比 两份数据,吧没有插入成功的数据全部提取出来 调试这已部分数据 查看原因 就可以发现问题了
断点是这样做的 但是1万多条数据 可能有3000多因为导入库的字段格式不合而无法导入,这样记录台麻烦 容错机制我用了的 就是想请教在catch里面我怎么提取数据?我想写在txt里面
断点调试
楼上说的方式都是可以的。
找适合自己的。
自己觉得。 断点是最佳
检查出来一个之后 解决了 继续断点 调试下一个错误
在catch里面把出错的记录下来 打个日志或写到别的库里面就OK了
就是这样子
在catch里面把出错的记录下来 打个日志或写到别的库里面就OK了
try catch 把出错的记录下来就可以了。。
设置 断点 调试 看报错在哪 可以看到错误的位置
一条一条插入的时候try catch啊