以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- .AddInput("培训开始时间","培训开始时间","datetime-local")这样的数据值怎么不能直接写入数据库呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=164202) |
-- 作者:cnsjroom -- 发布时间:2021/4/29 12:15:00 -- .AddInput("培训开始时间","培训开始时间","datetime-local")这样的数据值怎么不能直接写入数据库呢? 红色部分类型数据值不能保存到数据库,如果这个培训开始时间被选择有值后,整条数据都无法写入数据库,没有被选择有值时,其他数据字段可以保存到数据库 麻烦老师看看 谢谢! Dim e As RequestEventArgs = args(0) Dim wb As New weui …… .AddInput("培训开始时间","培训开始时间","datetime-local") e.WriteString(wb.Build) \'生成网页 Else Dim cmd1 As New SQLC ommand cmd1.Connecti cmd1.CommandText = "In sert In to 教育培训 (操作单位,主办单位,培训班名称,登记类型,培训日期,培训结束日期,培训开始时间,培训结束时间,授课人姓名,授课人职务,授课名称,授课开始时间,授课结束时间,地点,人数,人员,备注,授课日期) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" …… cmd1.Parameters.Add("@培训开始时间", e.PostValues("培训开始时间")) …… cmd1.ExecuteNonQuery …… e.WriteString(wb.Build) End If End If |
-- 作者:有点蓝 -- 发布时间:2021/4/29 13:44:00 -- msgbox(e.PostValues("培训开始时间"))接收到的是什么数据? |
-- 作者:cnsjroom -- 发布时间:2021/4/29 15:42:00 -- 回复:(有点蓝)msgbox(e.PostValues("培训开始时间"... 2021-04-29T19:44 多了一个T |
-- 作者:有点蓝 -- 发布时间:2021/4/29 16:08:00 -- cmd1.Parameters.Add("@培训开始时间", e.PostValues("培训开始时间").replace("T"," ")) |
-- 作者:cnsjroom -- 发布时间:2021/4/29 16:25:00 -- 回复:(有点蓝)cmd1.Parameters.Add("@培训开始时间... cmd1.Comm andText = "In sert In to 教育培训 (操作单位,主办单位,培训班名称,登记类型,培训日期,培训结束日期,培训开始时间,培训结束时间,授课人姓名,授课人职务,授课名称,授课开始时间,授课结束时间,地点,人数,人员,备注,授课日期) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)" cmd1.Parameters.Add("@操作单位",e.Cookies("单位名称")) cmd1.Parameters.Add("@主办单位", e.PostValues("主办单位")) cmd1.Parameters.Add("@培训班名称", e.PostValues("培训班名称")) cmd1.Parameters.Add("@登记类型", e.PostValues("登记类型")) cmd1.Parameters.Add("@培训日期", e.PostValues("培训日期")) cmd1.Parameters.Add("@培训结束日期", e.PostValues("培训结束日期")) cmd1.Parameters.Add("@培训开始时间", e.PostValues("培训开始时间").replace("T"," ")) cmd1.Parameters.Add("@培训结束时间", e.PostValues("培训结束时间").replace("T"," ")) cmd1.Parameters.Add("@授课人姓名", e.PostValues("授课人姓名")) cmd1.Parameters.Add("@授课人职务", e.PostValues("授课人职务")) cmd1.Parameters.Add("@授课名称", e.PostValues("授课名称")) cmd1.Parameters.Add("@授课开始时间", e.PostValues("授课开始时间").replace("T"," ")) cmd1.Parameters.Add("@授课结束时间", e.PostValues("授课结束时间").replace("T"," ")) cmd1.Parameters.Add("@地点", e.PostValues("地点")) cmd1.Parameters.Add("@人数", e.PostValues("人数")) cmd1.Parameters.Add("@人员", e.PostValues("人员")) cmd1.Parameters.Add("@备注", e.PostValues("备注")) cmd1.Parameters.Add("@授课日期", e.PostValues("授课日期")) cmd1.ExecuteNonQuery 以上红色部分代码 只能且只有一个控件被选择值后才能有效数据写入 其他行如果对应的控件被选择值后 均导致该条数据直接不写入数据库 有没有办法修正呢? |
-- 作者:有点蓝 -- 发布时间:2021/4/29 16:53:00 -- 这种方式:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=162224&skin=0 |
-- 作者:cnsjroom -- 发布时间:2021/4/29 17:43:00 -- 回复:(有点蓝)这种方式:http://www.foxtable.com/... Dim cmd1 As New SQLCo mmand cmd1.Conn ectio nName = "AD" Dim sql As String ="Ins ert I nto 教育培训 ( " If e.PostValues.ContainsKey("培训开始时间") sql = sql & "培训开始时间=?," cmd1.Parameters.Add("@培训开始时间", e.PostValues("培训开始时间")) End If If e.PostValues.ContainsKey("培训结束时间") sql = sql & "培训结束时间=?," cmd1.Parameters.Add("@培训结束时间", e.PostValues("培训结束时间")) End If If e.PostValues.ContainsKey("授课开始时间") sql = sql & "授课开始时间=?," cmd1.Parameters.Add("@授课开始时间", e.PostValues("授课开始时间")) End If If e.PostValues.ContainsKey("授课结束时间") sql = sql & "授课结束时间=?," cmd1.Parameters.Add("@授课结束时间", e.PostValues("授课结束时间")) End If sql = sql.trim(",") & ")" cmd1.CommandText =sql cmd1.Parameters.Add("@操作单位",e.Cookies("单位名称")) cmd1.Parameters.Add("@主办单位", e.PostValues("主办单位")) cmd1.Parameters.Add("@培训班名称", e.PostValues("培训班名称")) cmd1.Parameters.Add("@登记类型", e.PostValues("登记类型")) cmd1.Parameters.Add("@培训日期", e.PostValues("培训日期")) cmd1.Parameters.Add("@培训结束日期", e.PostValues("培训结束日期")) cmd1.Parameters.Add("@授课人姓名", e.PostValues("授课人姓名")) cmd1.Parameters.Add("@授课人职务", e.PostValues("授课人职务")) cmd1.Parameters.Add("@授课名称", e.PostValues("授课名称")) cmd1.Parameters.Add("@地点", e.PostValues("地点")) cmd1.Parameters.Add("@人数", e.PostValues("人数")) cmd1.Parameters.Add("@人员", e.PostValues("人员")) cmd1.Parameters.Add("@备注", e.PostValues("备注")) cmd1.Parameters.Add("@授课日期", e.PostValues("授课日期")) cmd1.ExecuteNonQuery 采用这个写法?后台直接没有新增数据!!! sql值弹出为 Ins ert I nto 教育培训 (授课开始时间=?,授课结束时间=?) 或者 Ins ert I nto 教育培训 (培训开始时间=?,培训结束时间=?)
[此贴子已经被作者于2021/4/29 18:01:21编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/4/29 20:17:00 -- insert into的sql用法不一样的,学会变通一下:http://www.foxtable.com/webhelp/topics/3266.htm 思考一下应该怎么拼这种sql,可以看看下面7楼代码 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=160096&skin=0
|
-- 作者:cnsjroom -- 发布时间:2021/4/30 9:24:00 -- 回复:(有点蓝)insert into的sql用法不一样的,... 麻烦老师继续帮忙看看 按照老师提示 组合如下 结果任何值数据都不写入数据库了 谢谢! Dim cmd1 As New SQLC ommand cmd1.Connecti Dim sql As String ="In sert I nto 教育培训 (" Dim vas As String = "Values(" If e.PostValues.ContainsKey("培训开始时间") sql = sql & "培训开始时间," vas = vas & e.PostValues("培训开始时间").replace("T"," ") & "," End If If e.PostValues.ContainsKey("培训结束时间") sql = sql & "培训结束时间," vas = vas & e.PostValues("培训结束时间").replace("T"," ") & "," End If If e.PostValues.ContainsKey("授课开始时间") sql = sql & "授课开始时间," vas = vas & e.PostValues("授课开始时间").replace("T"," ") & "," End If If e.PostValues.ContainsKey("授课结束时间") sql = sql & "授课结束时间," vas = vas & e.PostValues("授课结束时间").replace("T"," ") & "," End If If e.PostValues.ContainsKey("操作单位") sql = sql & "操作单位," vas = vas & e.Cookies("单位名称") & "," End If If e.PostValues.ContainsKey("主办单位") sql = sql & "主办单位," vas = vas & e.PostValues("主办单位") & "," End If If e.PostValues.ContainsKey("培训班名称") sql = sql & "培训班名称," vas = vas & e.PostValues("培训班名称") & "," End If If e.PostValues.ContainsKey("登记类型") sql = sql & "登记类型," vas = vas & e.PostValues("登记类型") & "," End If If e.PostValues.ContainsKey("培训日期") sql = sql & "培训日期," vas = vas & e.PostValues("培训日期") & "," End If If e.PostValues.ContainsKey("培训结束日期") sql = sql & "培训结束日期," vas = vas & e.PostValues("培训结束日期") & "," End If If e.PostValues.ContainsKey("授课人姓名") sql = sql & "授课人姓名," vas = vas & e.PostValues("授课人姓名") & "," End If If e.PostValues.ContainsKey("授课人职务") sql = sql & "授课人职务," vas = vas & e.PostValues("授课人职务") & "," End If If e.PostValues.ContainsKey("授课名称") sql = sql & "授课名称," vas = vas & e.PostValues("授课名称") & "," End If If e.PostValues.ContainsKey("地点") sql = sql & "地点," vas = vas & e.PostValues("地点") & "," End If If e.PostValues.ContainsKey("人数") sql = sql & "人数," vas = vas & e.PostValues("人数") & "," End If If e.PostValues.ContainsKey("人员") sql = sql & "人员," vas = vas & e.PostValues("人员") & "," End If If e.PostValues.ContainsKey("备注") sql = sql & "备注," vas = vas & e.PostValues("备注") & "," End If If e.PostValues.ContainsKey("授课日期") sql = sql & "授课日期," vas = vas & e.PostValues("授课日期") & "," End If sql = sql.trim(",") vas = vas .trim(",") sql =sql & ") " & vas & ")" MessageBox.Show(sql) cmd1.CommandText =sql cmd1.ExecuteNonQuery
|
-- 作者:有点蓝 -- 发布时间:2021/4/30 9:37:00 -- 如果是直接拼sql,字符、日期列要加上单引号 If e.PostValues.ContainsKey("培训开始时间") sql = sql & "培训开始时间," vas = vas & "\'" & e.PostValues("培训开始时间").replace("T"," ") & "\'," End If 最后自己把弹出sql查看一下,把sql放到数据库执行,看合并的sql哪里有问题,如果看不懂花点时间先学一下sql的语法 MessageBox.Show(sql)
[此贴子已经被作者于2021/4/30 9:37:35编辑过]
|