以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- SQL参数能获取最后生成的SQL语句吗 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144048) |
-- 作者:blackzhu -- 发布时间:2019/12/9 16:47:00 -- SQL参数能获取最后生成的SQL语句吗 cmd.Parameters.Add 能获取生成的SQL语句吗? 我检查半天,老说我索引数组不对!
|
-- 作者:有点蓝 -- 发布时间:2019/12/9 16:53:00 -- Parameters.Add的次数和?号的个数数量必须一致。使用的是access还是SqlServer?完整代码发上来看看 |
-- 作者:blackzhu -- 发布时间: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 -- 发布时间: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 -- 发布时间:2019/12/9 17:03:00 -- 等等 我知道了 应该是函数错了 |