Foxtable(狐表)用户栏目专家坐堂 → SQL参数能获取最后生成的SQL语句吗


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

主题:SQL参数能获取最后生成的SQL语句吗

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
SQL参数能获取最后生成的SQL语句吗  发帖心情 Post By:2019/12/9 16:47:00 [只看该作者]

cmd.Parameters.Add 能获取生成的SQL语句吗?


我检查半天,老说我索引数组不对!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


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

Parameters.Add的次数和?号的个数数量必须一致。使用的是access还是SqlServer?完整代码发上来看看

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/12/9 16:55:00 [只看该作者]

 mysql = mysql.Replace("Sel     ect * from", "Insert Into").Replace("员工管理", "员工管理 (部门,姓名,联系电话,功能角色,权限组,折扣权限,科室, 序号,数据量,备注,用户名,分院,GUID,状态,员工编号,创建人,创建时间,密码,是否为开发者,权限组GUID,远程链接,总院) Values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")
                Else
                    mysql = "Sel       ect * from HIS_CESHI.dbo.员工管理 WHERE 1=2"
                End If
                MsgBox(mysql)

                cmd.CommandText = mysql
                cmd.Parameters.Add("@部门", e.Values("bm")) '1
                cmd.Parameters.Add("@姓名", e.Values("name")) '2
                cmd.Parameters.Add("@联系电话", e.Values("phone")) '3
                cmd.Parameters.Add("@功能角色", e.Values("gnjs")) '4
                cmd.Parameters.Add("@权限组", e.Values("qxz")) '5
                cmd.Parameters.Add("@折扣权限", e.Values("zkqx")) '6
                cmd.Parameters.Add("@科室", e.Values("ks")) '7
                cmd.Parameters.Add("@序号", e.Values("xh")) '8
                cmd.Parameters.Add("@数据量", e.Values("sjl")) '9
                cmd.Parameters.Add("@备注", e.Values("beizhu")) '10
                cmd.Parameters.Add("@用户名", MyPublicM.GetSumPy(e.Values("name"))) '10
                cmd.Parameters.Add("@分院", fy) '12
                cmd.Parameters.Add("@GUID", System.Guid.NewGuid.ToString.Replace("-", Nothing)) '13
                cmd.Parameters.Add("@状态", "待定") '14
                cmd.Parameters.Add("@员工编号", "YG" & Format(JiChuClass.ServerTime, "yyMMddhhmmss") & Rand.Next(1, 100)) '15
                cmd.Parameters.Add("@创建人", "朱健") '16
                cmd.Parameters.Add("@创建时间", JiChuClass.ServerDate) '17
                cmd.Parameters.Add("@密码", "#9876") '18
                If e.Values("kfz") > "" AndAlso e.Values("kfz") = "是" Then
                    cmd.Parameters.Add("@是否为开发者", "1") '19
                Else
                    cmd.Parameters.Add("@是否为开发者", "0")
                End If
                cmd.Parameters.Add("@权限组GUID", GetQxID(fy, e.Values("qxz"))) '20
                cmd.Parameters.Add("@远程链接", GetYC(fy)) '21
                cmd.Parameters.Add("@总院", GetZy(fy)) '22
                If cmd.ExecuteNonQuery() > 0 Then
                    e.WriteString("新增了一个员工")
                Else
                    e.WriteString("新增员工失败")
                End If


我将?全部替换成1 可以执行,但是添加了参数以后,报了这么一个错误:


在oEy_Table1_UAdd代码段,在2019-12-09 16:45:12.2599
索引超出了数组界限。
   在 Foxtable.DataRowCollection.get_Item(Int32 Index)
   在 InvoicingSystem.Employee.GetQxID(String fy, String QXZ)
   在 InvoicingSystem.Employee.oEy_Table1_UAdd(RequestEventArgs e)



检查了半天没问题呀

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/12/9 16:55:00 [只看该作者]


Insert Into opendatasource('SQLOLEDB','服务器').shanghai.dbo.员工管理 (部门,姓名,联系电话,功能角色,权限组,折扣权限,科室, 序号,数据量,备注,用户名,分院,GUID,状态,员工编号,创建人,创建时间,密码,是否为开发者,权限组GUID,远程链接,总院) Values(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)

这样可以执行的

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/12/9 17:03:00 [只看该作者]

等等 我知道了 应该是函数错了

 回到顶部