以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 为什么保存失败! (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=149826) |
-- 作者:foxtablefanse -- 发布时间:2020/5/13 11:11:00 -- 为什么保存失败! 输入页 Dim e As RequestEventArgs = args(0) Select Case e.Path Case "addludan.htm" Dim wb As New weui Dim chp As List(of String) = DataTables("ZL_车辆信息").SQLGetValues("牌照号") Dim zhucao As List(of String) = DataTables("RL_员工档案").SQLGetValues("姓名","当前_岗位 in (\'010105\',\'010106\')","姓名 Desc") Dim zhihui As List(of String) = DataTables("RL_员工档案").SQLGetValues("姓名","当前_岗位 in (\'010105\',\'010106\',\'010107\')","[当前_岗位] Desc") \' Dim hc As new HttpClient("http://www.anqy.work/bianhao.htm") wb.AddForm("","form1","handle.htm") \'指定接收表单数据的的页面为handle.htm With wb.AddInputGroup("form1","ipg1","新增路单") \' .AddHiddenValue("编号",hc.GetData()) \'插入一个隐藏的路单主键,此值将随表单数据一并提交到服务器. .AddInput("姓名","姓  名:","text").Value=e.Cookies("uname") .AddSelect("用车形式","用车形式:","台班|包月") .AddSelect("车辆来源","车辆来源:","自有|外协") .AddSelect("车辆牌照","牌 照 号:","|" & String.Join("|",chp.ToArray)) .AddInput("用车单位","用车单位:","text").Placeholder="请输入" .AddInput("二级单位","二级单位:","text").Placeholder="XX厂或XX队等" .AddInput("作业地点","作业地点:","text").Placeholder="请输入" .AddInput("作业内容","作业内容:","text").Placeholder="请输入" .AddInput("启用时间","启用时间:","datetime-local") .AddInput("结束时间","结束时间:","datetime-local") .AddSelect("主操","主  操:","|" & String.Join("|",zhucao.ToArray)) .AddSelect("副操","副  操:","|" & String.Join("|",zhucao.ToArray)) .AddSelect("主指挥","主 指 挥:","|" & String.Join("|",zhihui.ToArray)) .AddInput("副指挥","副 指 挥:","text").Placeholder="请输入!多名人员用逗号分隔" .AddSelect("结账方式","结账方式:","签单|现金") .AddInput("现金金额","现金金额:","number").Step = "0.01" .AddInput("签单时长","签单时长:","number").Step = "0.1" .AddSelect("计费车型","计费车型:","|8|16|20|25|25K5|35|50|75|100|130|160|200|220|260|300|350|货车") .AddHiddenValue("创建人",e.Cookies("uname")) .AddHiddenValue("创建日期",Format(Date.Now,"yyyy-MM-ddTHH:mm")) End With With wb.AddInputGroup("form1","ipg2","备 注:") .AddTextArea("备注",5).Placeholder = "请输入200字以内的备注" End With With wb.AddButtonGroup("form1","btg1",True) .Add("btn1", "确定", "submit") End With e.WriteString(wb.Build) End Select 提交页 Dim e As RequestEventArgs = args(0) Dim wb As New WeUI Select Case e.Path Case "handle.htm" Dim nms() As String = {"姓名","用车形式","车辆来源","车辆牌照","用车单位","二级单位","作业地点","作业内容","启用时间","结束时间","主操","副操","主指挥","副指挥","结账方式","现金金额","签单时长","计费车型","备注","创建人","创建日期"} Dim bts() As String={"姓名","用车形式","车辆来源","车辆牌照","用车单位","作业地点","作业内容","启用时间","结束时间","主操","结账方式","签单时长"} \'必填项目 For Each bt As String In bts If e.PostValues.ContainsKey(bt) = False Then \'生成错误提示页 With wb.AddMsgPage("","msgpage","增加失败", bt & "列不能为空!") .icon = "Warn" \'改变图标 .AddButton("btn1","返回").Attribute = "" End With e.WriteString(wb.Build) Return False \'必须返回 End If Next \'msgbox(1) Dim cmd As new SQLC ommand cmd.C \'cmd.C ommandText = "Select * Fr om YW_路单 Where 1=2" \'Dim dtb As DataTable = cmd.ExecuteReader(True) Dim dr As DataRow = DataTables("YW_路单").AddNew() \' msgbox(2) For Each nm As String In nms dr(nm) = e.PostValues(nm) Next \'Dim cmd As new SQLCommand \'cmd.C cmd.C ommandText = "AutoNo" \'生成流水号 cmd.StoredProcedure = True \'表示执行的是存储过程 cmd.Parameters.Add("@prefix","LD") cmd.Parameters.Add("@mode",0) cmd.Parameters.Add("@nolen","3") cmd.Parameters.Add("@listna","编号") cmd.Parameters.Add("@tablena","YW_路单") cmd.Parameters.Add("@runningnum","",True) cmd.ExecuteNonQuery dr("编号") = cmd.Parameters("@runningnum") \'获取存储过程返回的编号值 Dim dt As Date =CDate(dr("启用时间")) If dt.Day > 25 Then \'如果为25日以后的日期 dt = new Date(dt.year,dt.month,1) \'改为下个月的第一天 dt= dt.AddMonths(1) End If dr("统计月") = Format(dt,"yyyy-MM") dr.save() With wb.AddMsgPage("","msgpage","增加成功", "单号:" & dr("编号")) \'生成成功提示页 .AddButton("btn1","继续增加","addludan.htm") End With \'返回增加成功消息 e.WriteString(wb.Build) \'生成网页 End Select 错误: 2020-05-13 10:55:13.0653语句已终止。 将截断字符串或二进制数据。 在 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) |
-- 作者:有点蓝 -- 发布时间:2020/5/13 11:19:00 -- 这种提示是某个列的字符长度不够大,改大一点:http://www.foxtable.com/webhelp/topics/0036.htm 另外可以这样,避免有多余的空格 For Each nm As String In nms dr(nm) = e.PostValues(nm).trim() Next |
-- 作者:程兴刚 -- 发布时间:2020/5/13 11:21:00 -- 须判断zhucao、和zhihui这样的变量是否获取到值! |
-- 作者:有点蓝 -- 发布时间:2020/5/13 11:39:00 -- For Each nm As String In nms If e.PostValues.ContainsKey(nm) dr(nm) = e.PostValues(nm).trim() Else dr(nm) = Nothing End If Next |