关闭
冰冰冰冰冰糖Er 2022-05-23 11:39 采纳率: 90.9%
浏览 15
已结题

向数据库导入文本数据报该字符串未被识为datatime有效值,从索引[0]处开始,但我确实进行数据转换了

问题遇到的现象和发生背景

已经将数据转换成datatime类型了,但还是报错

img

问题相关代码,请勿粘贴截图

using (SqlConnection con = new SqlConnection(conStr))
{

                con.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                   // string r =reader.CurrentEncoding.ToString();
                     //MessageBox.Show("当前编码格式为:{0}",r);
                    while (!string.IsNullOrEmpty(temp = reader.ReadLine()))
                  {
                       var strs = temp.Split(',');
                        string sql = string.Format(@"
                 insert into tblStudent
                 (stuName,stuSex,stuBirthDate,stuPhone)
                 values('{0}','{1}','{2}','{3}')", strs[1], strs[2], Convert.ToDateTime(strs[3]), strs[4]);
                        cmd.CommandText = sql;//不要strs[0],因为那是主键Id列,sql会自动处理
                        cmd.ExecuteNonQuery();
                    }
                }
            }
运行结果及报错内容

附上导入的数据

img

我的解答思路和尝试过的方法

经过数据转换应该是没问题了,但还是说索引[0]处有问题

我想要达到的结果

请问该怎么解决?

  • 写回答

1条回答 默认 最新

  • bekote 2022-05-23 13:57
    关注

    你的第一行是

    img


    吗,是的话要去掉这一行

    DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();
    dtFormat.ShortDatePattern = "yyyy/MM/dd";
    Convert.ToDateTime(strs[3])改为Convert.ToDateTime(strs[3], dtFormat);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月24日
  • 创建了问题 5月23日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部