Foxtable(狐表)用户栏目专家坐堂 → System.Data.OleDb.OleDbException (0x80040E21): 对于造型说明无效的字符值


  共有4547人关注过本帖树形打印复制链接

主题:System.Data.OleDb.OleDbException (0x80040E21): 对于造型说明无效的字符值

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
System.Data.OleDb.OleDbException (0x80040E21): 对于造型说明无效的字符值  发帖心情 Post By:2022/10/24 2:27:00 [只看该作者]

错误的事件名称
System.Data.OleDb.OleDbException (0x80040E21): 对于造型说明无效的字符值
   在 System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
   在 System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
   在 System.Data.Common.DbDataAdapter.UpdateRowExecute(RowUpdatedEventArgs rowUpdatedEvent, IDbCommand dataCommand, StatementType cmdIndex)
   在 System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)

 

代码如下:【运行后部分字段可以复制值  部分字段提示上述错误,目前不知晓到底是哪个字段?有没有办法进行全复制呢?】 初步排查 红色部分代码存在问题

Public Sub form304_save2_Ajax(rq as Request)
Dim e As RequestEventArgs = rq.e
Dim cmd As SQLCommand = rq.cmd
Dim str As String =e.Values("证据提供者")
msg(str)
msg(e.Values("登记编号"))
For Each s As String In str.split(",")    '对传入的值进行拆分
 cmd.CommandText =  "sel ect * from {调取证据通知书多值} where 登记编号='" & e.Values("登记编号") & "' and 提供单位或个人='" & s & "'"
 msg(cmd.CommandText)
If cmd.ExecuteScalar > 0 Then    '查找到数据
 msg(1)
 else
  msg(2)

 cmd.CommandText =  "sel ect * from {调取证据通知书} "
Dim dt2 As DataTable = cm d.ExecuteReader()    
    Dim dr1 As DataRow = dt1.AddNew
 msg(3)
    For Each dc As DataCol In dt1.DataCols
  msg(4)
        For Each dr As DataRow In dt2.SQ LSel ect("登记编号='" & e.Values("登记编号") & "' and 提供单位或个人='" & str & "'")
            dr1(dc.Name) = dr(dc.Name)
            dr1("提供单位或个人")=s
            dr1.save
        Next
    Next
'Functions.Execute("多值拆分并重新生成",e.Values("证据提供者"),e.Values("登记编号"))
End if
Next
  e.WriteString("")
End Sub


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106603 积分:542186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/24 8:33:00 [只看该作者]

这种错误是更新保存无效的日期值导致的

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)这种错误是更新保存无效的日期值导致...  发帖心情 Post By:2022/10/24 8:56:00 [只看该作者]

有没有什么办法自己强制保存无效的日期 而不提示错误呢?

有些时候  日期列可能是空值或者其他值   不想管对错  直接强制保存


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106603 积分:542186 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/10/24 8:59:00 [只看该作者]

没有这种用法,也不合理。

加个判断
        For Each dr As DataRow In dt2.SQ LSel ect("登记编号='" & e.Values("登记编号") & "' and 提供单位或个人='" & str & "'")
    For Each dc As DataCol In dt1.DataCols
if dr.isnull(dc.Name)=false
            dr1(dc.Name) = dr(dc.Name)
end if
next
        Next
            dr1("提供单位或个人")=s
            dr1.save
[此贴子已经被作者于2022/10/24 9:00:20编辑过]

 回到顶部