关于获取插入数据库失败值

我将多张表的数据提取出来之后插入另外一个数据库,有些数据无法插入,我想得到哪些数据插入失败 该怎么做,请高手指点
hnaserver -
  • Parfume - 2个月前

    。。。。。我用sql插入的。。。我现在纠结的就是获取信息 catch里面根据Exception 来判断么?我之前从数据库提出一个table 然后循环table的行 然后插入另外一张表。 现在完全不知道怎么在catch里面获取值,如果用Exception 得出的是某个字段不合格或者什么什么的,我想获取的是整条不能录入的数据,包括所有的字段,那些大爷些乱填表,导致常常有字段不符合最后的规格。。。

  • davycheng - 2个月前

    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(@"\\", @"\");
            }
    
    
    

  • user630 - 2个月前

    你怎么插的啊?for循环一条条插?
    string idstr=null;
    for(...){
    try{

    //插入
    }catch{
    idstr+=出错记录的id+“,”;
    }
    }
    string [] id=idstr.Trim(',').Split(',');
    这样,在id数组里都是有问题的东东。

  • liuhiai - 2个月前

    引用 7 楼 longww0513 的回复:

    断点是这样做的 但是1万多条数据 可能有3000多因为导入库的字段格式不合而无法导入,这样记录台麻烦 容错机制我用了的 就是想请教在catch里面我怎么提取数据?我想写在txt里面
    执行的地方try catch啊

  • Thochense - 2个月前

    数据库 写语句直接批量插入 对比 两份数据,吧没有插入成功的数据全部提取出来 调试这已部分数据 查看原因 就可以发现问题了

  • assothCak - 2个月前

    断点是这样做的 但是1万多条数据 可能有3000多因为导入库的字段格式不合而无法导入,这样记录台麻烦 容错机制我用了的 就是想请教在catch里面我怎么提取数据?我想写在txt里面

  • Inhenlyunsure - 2个月前

    断点调试

     楼上说的方式都是可以的。

      找适合自己的。

    自己觉得。 断点是最佳

      检查出来一个之后 解决了 继续断点 调试下一个错误

  • Daygiemia - 2个月前

    在catch里面把出错的记录下来 打个日志或写到别的库里面就OK了

    就是这样子

  • joesilver - 2个月前

    在catch里面把出错的记录下来 打个日志或写到别的库里面就OK了

  • Ererbtura - 2个月前

    try catch 把出错的记录下来就可以了。。

  • Universalresopotqqq - 2个月前

    设置 断点 调试 看报错在哪 可以看到错误的位置

  • Molly.Wier - 2个月前

    一条一条插入的时候try catch啊