以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]sql command代码不起作用。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=152217)

--  作者:ufo20085
--  发布时间:2020/7/9 18:21:00
--  [求助]sql command代码不起作用。

某个表格登记的网页,代码如下,运行后没有报错,但是数据库内容不增加。

Dim e As RequestEventArgs = args(0)
Dim cmd As New SQLCommand
cmd . Connection Name = "customs1"
cmd.CommandText = "Insert Into 活动副本 (申请返校班级,班主任辅导员,返校时间,返校人数,校友召集人1,召集人1联系电话,校友召集人2,召集人2联系电话,返校就餐之学生食堂经典窗口打菜模式,返校期间就餐之学生食堂包厢点菜模式,协助联系出席活动的老师等,返校期间需要使用的活动场所设施,定制返校礼品横幅鲜花等,其他返校需求,登记时间,师生座谈会,校友全景游览导游解说,校友树认养,与在校生交流座谈,学术报告会交流会,返校活动全程跟拍,班服设计制作,捐赠事宜) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"

 

Dim nms() As String = {"申请返校班级","班主任辅导员","返校时间","返校人数","校友召集人1","召集人1联系电话","校友召集人2","召集人2联系电话","返校就餐之学生食堂经典窗口打菜模式","返校期间就餐之学生食堂包厢点菜模式","协助联系出席活动的老师等","返校期间需要使用的活动场所设施","定制返校礼品横幅鲜花等","其他返校需求"} \'不能为空的列名数组
For Each nm As String In nms
    cmd.Parameters.Add("@" & nm,e.PostValues(nm) )
Next
cmd.Parameters.Add("@登记时间",Date.Now())
MessageBox.Show("1")

Dim nms2() As String ={"师生座谈会","校友全景游览导游解说","校友树认养","与在校生交流座谈","学术报告会交流会","返校活动全程跟拍","班服设计制作","捐赠事宜"}
For Each nm As String In nms2
    If e.PostValues.ContainsKey(nm)
        cmd.Parameters.Add("@" & nm,True)
    Else
        cmd.Parameters.Add("@" & nm,False)
    End If
Next

cmd.ExecuteNonQuery

e.WriteString("新增成功")

 

 

然后直接在foxtable命令窗口里测试了简化代码:

 

Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Insert Into 活动副本 (申请返校班级,班主任辅导员,返校时间,返校人数,校友召集人1,召集人1联系电话,校友召集人2,召集人2联系电话,返校就餐之学生食堂经典窗口打菜模式,返校期间就餐之学生食堂包厢点菜模式,协助联系出席活动的老师等,返校期间需要使用的活动场所设施,定制返校礼品横幅鲜花等,其他返校需求,登记时间,师生座谈会,校友全景游览导游解说,校友树认养,与在校生交流座谈,学术报告会交流会,返校活动全程跟拍,班服设计制作,捐赠事宜) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"

 

Dim nms() As String = {"申请返校班级","班主任辅导员","返校时间","返校人数","校友召集人1","召集人1联系电话","校友召集人2","召集人2联系电话","返校就餐之学生食堂经典窗口打菜模式","返校期间就餐之学生食堂包厢点菜模式","协助联系出席活动的老师等","返校期间需要使用的活动场所设施","定制返校礼品横幅鲜花等","其他返校需求"} \'不能为空的列名数组
For Each nm As String In nms
    cmd.Parameters.Add("@" & nm,"2020-02-02")
Next
cmd.Parameters.Add("@登记时间",Date.Now())


Dim nms2() As String ={"师生座谈会","校友全景游览导游解说","校友树认养","与在校生交流座谈","学术报告会交流会","返校活动全程跟拍","班服设计制作","捐赠事宜"}
For Each nm As String In nms2
        cmd.Parameters.Add("@" & nm,True)
Next

cmd.ExecuteNonQuery


DataTables("活动副本").LoadFilter = ""
DataTables("活动副本").Load

同样是不报错,但后台数据也不新增。

 

代码出错在哪里啊。。

昨天另一个页面的新增函数也曾出现这个问题,后来不知道调试了哪里,后来就没问题了。。今天这个新的代码又出现这个问题。。一脸懵逼中。。求老师帮助。。

[此贴子已经被作者于2020/7/9 18:22:55编辑过]

--  作者:有点蓝
--  发布时间:2020/7/9 20:01:00
--  
什么数据库?如果是access:cmd.Parameters.Add("@登记时间",format(Date.Now(),"yyyy-MM-dd HH:mm:ss"))

如果是SqlServer,跟踪一下数据库执行了什么SQL?https://www.baidu.com/baidu?word=SQL+Profile

--  作者:ufo20085
--  发布时间:2020/7/9 21:34:00
--  
使用的是sql server服务器
--  作者:有点蓝
--  发布时间:2020/7/9 22:00:00
--  
跟踪一下数据库执行了什么SQL?