以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- System.Data.OleDb.OleDbException (0x80040E21): 对于造型说明无效的字符值 怎么解决呢? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=186074) |
-- 作者:cnsjroom -- 发布时间:2023/4/5 6:34:00 -- System.Data.OleDb.OleDbException (0x80040E21): 对于造型说明无效的字符值 怎么解决呢? Dim cmd As New SQLCommand cmd.Conne ctionN ame = "主数据源" cmd.CommandText = "sel ect * From 任务发布" Dim dt As DataTable = cmd.ExecuteReader cmd.CommandText = "se lect * from 任务台账" Dim dt1 As DataTable = cmd.ExecuteReader(true) Dim str As String = e.Values("责任单位") Dim drs As List(of DataRow) =dt .SQLSe lect("责任单位=\'" & str & "\' and guid=\'" & e.Values("guid") & "\'") \'可以找到对应样本数据 For Each s As String In str.split(",") \'对传入的值进行拆分 For Each dr As DataRow In drs If dr IsNot Nothing Then Dim dr1 As DataRow = dt1.SQLFind("责任单位=\'" & s & "\' and 主表guid=\'" & e.Values("guid") & "\'") If dr1 IsNot Nothing Then \'如果找到的话 For Each dc As DataCol In dt.DataCols dr1("责任单位")=s dr1(dc.Name) = dr(dc.Name) dr1("发布编号") = dr("编号") dr1("发布序号") = dr("发布编号") dr1("新增类型") = dr("新增类型") dr1("审核状态")="待审核" dr1("接收状态")="待接收" dr1("办理状态")="待办理" Next Else dr1 = dt1.AddNew msg(1) For Each dc As DataCol In dt.DataCols dr1("guid")=guid.newguid.tostring() dr1("主表guid")=dr("guid") dr1("所属部门guid")=dr("所属部门guid") dr1("责任单位")=s dr1("发布guid")=dr("guid") dr1(dc.Name) = dr(dc.Name) dr1("发布编号") = dr("编号") dr1("发布序号") = dr("发布编号") dr1("新增类型") = dr("新增类型") dr1("审核状态")="待审核" dr1("接收状态")="待接收" dr1("办理状态")="待办理" Next Dim cmd1 As SQLCommand = rq.cmd msg(2) cmd1.CommandText ="s el ect * from 任务台账 where 责任单位=\'" & s & "\' and 主表guid=\'" & e.Values("guid") & "\'" msg(cmd1.CommandText) Dim dt11 As DataTable = cmd1.ExecuteReader() Dim dd As Datetime = Date.now If dt11.DataRows.Count>0 Then Dim dr11 As DataRow =dt11.DataRows(0) dd = dr11("创建日期") msg(31) End If msg(32) Dim id,id1 As String Dim dw As String Dim tk As String Dim cmd2 As SQLCommand = rq.cmd Dim AA,AA1 As String Dim WW,WW1 As String msg(3) cmd2.CommandText = "se le ct 部门识别码,单位简称,部门简称 from sys_Department where guid=\'" & e.Values("所属部门guid") & "\' " Dim Values1 = cmd2.ExecuteValues If Values1.Count > 0 Then AA = Values1("部门识别码").tostring AA1 = Values1("单位简称").tostring WW1 = Values1("部门简称").tostring End If msg(4) cmd2.CommandText ="s el ect * from SYS_编号 where 名称=\'台账编号\'" Dim dt2 As DataTable = cmd2.ExecuteReader() If dt2.DataRows.Count>0 Then Dim dr2 As DataRow =dt2.DataRows(0) id =SetNumber004(dr2("guid"),0,"",dd,AA,WW) End If msg(5) cmd2.CommandText ="se le ct * from SYS_编号 where 名称=\'单位台账编号\'" Dim dt21 As DataTable = cmd2.ExecuteReader() If dt21.DataRows.Count>0 Then Dim dr21 As DataRow =dt21.DataRows(0) id1 =SetNumber005(dr21("guid"),0,"",dd,AA1,WW1) End If msg(6) dr1("编号") = id1 dr1("台账编号") = id End If msg(7) dr1.save End If Next Next msg(8) dt1.save msg(90) cmd.CommandText = "Sele ct 编号,发布编号 from {任务发布} Where guid=\'" & e.Values("guid") & "\'" msg(cmd.CommandText) Dim Values = cmd.ExecuteValues If Values.Count > 0 Then Dim Products As List(Of String) Products = dt.SQ LGetValues("guid","guid=\'" & e.Values("guid") & "\'") For Each Product As String In Products cmd.CommandText = "UPD ATE {任务台账} SET 发布编号 = \'" & Values("编号") & "\',发布序号 = \'" & Values("发布编号") & "\' WHERE 主表guid=\'" & Product & "\'" msg(cmd.CommandText) cmd.ExecuteNonQuery() Next msg(9) End If 输出:【上述红色部分出错误】 90 2023-04-05 06:30:41 错误的事件名称 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) 2023-04-05 06:30:40 8 2023-04-05 06:30:40 错误的事件名称 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) 2023-04-05 06:30:40 7 2023-04-05 06:30:40 [此贴子已经被作者于2023/4/5 6:34:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2023/4/6 8:36:00 -- 这个错误和日期值有关,应该是哪里的日期值有问题 |