Foxtable(狐表)用户栏目专家坐堂 → .AddInput("培训开始时间","培训开始时间","datetime-local")这样的数据值怎么不能直接写入数据库呢?


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

主题:.AddInput("培训开始时间","培训开始时间","datetime-local")这样的数据值怎么不能直接写入数据库呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
.AddInput("培训开始时间","培训开始时间","datetime-local")这样的数据值怎么不能直接写入数据库呢?  发帖心情 Post By:2021/4/29 12:15:00 [只看该作者]

红色部分类型数据值不能保存到数据库,如果这个培训开始时间被选择有值后,整条数据都无法写入数据库,没有被选择有值时,其他数据字段可以保存到数据库
麻烦老师看看  谢谢!

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

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 13:44:00 [只看该作者]

msgbox(e.PostValues("培训开始时间"))接收到的是什么数据?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)msgbox(e.PostValues("培训开始时间"...  发帖心情 Post By:2021/4/29 15:42:00 [只看该作者]

2021-04-29T19:44 多了一个T

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 16:08:00 [只看该作者]

cmd1.Parameters.Add("@培训开始时间", e.PostValues("培训开始时间").replace("T"," "))

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)cmd1.Parameters.Add("@培训开始时间...  发帖心情 Post By:2021/4/29 16:25:00 [只看该作者]

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

以上红色部分代码 只能且只有一个控件被选择值后才能有效数据写入   其他行如果对应的控件被选择值后  均导致该条数据直接不写入数据库  有没有办法修正呢?


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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/29 16:53:00 [只看该作者]

这种方式:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=162224&skin=0

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)这种方式:http://www.foxtable.com/...  发帖心情 Post By:2021/4/29 17:43:00 [只看该作者]

        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编辑过]

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)insert into的sql用法不一样的,...  发帖心情 Post By:2021/4/30 9:24:00 [只看该作者]

麻烦老师继续帮忙看看   按照老师提示  组合如下  结果任何值数据都不写入数据库了  谢谢!


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

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


加好友 发短信
等级:超级版主 帖子:109736 积分:558396 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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编辑过]

 回到顶部
总数 11 1 2 下一页