以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助代码更改,把操作外部数据源换到操作内部数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159688) |
-- 作者:夜点蚊香 -- 发布时间:2021/1/4 19:22:00 -- 求助代码更改,把操作外部数据源换到操作内部数据 Dim e As RequestEventArgs = Args(0) Dim cmd As New SQLCommand cmd.C Dim arr As jarray Dim tbn As String = e.Values("tablename") \'请求操作的数据表 Dim cn,cv As String Dim time As String = Format(Date.Now,"yyyy-MM-dd HH:mm:ss") Select Case e.Values("reqType") Case "append" arr = jarray.parse(e.Values("content")) \'将请求内容转为数组 For Each r As jtoken In arr \'对数组按行遍历 cn = "" \'要添加内容的列 cv = "" \'要添加的内容 For Each jp As jproperty In r cn = "[" & jp.name & "]," & cn cv = "\'" & jp.value.ToString.Replace("\'","\'\'") & "\'," & cv Next \'如果操作的是日志和审核表,都要同时加上服务器时间 If Array.Indexof({"日志","审核"},tbn) > -1 Then cn = cn & "[time]," & iif(tbn="日志","ip,","") \'日志表再加上ip列 cv = cv & "\'" & time & "\'," & iif(tbn="日志","\'" & e.Request.RemoteEndPoint.ToString & "\',","") End If cmd.CommandText = "insert into " & tbn & "(" & cn.TrimEnd(",") & ") values(" & cv.TrimEnd(",") & ")" cmd.ExecuteNonQuery Next 求助,如何将cmd 相关函数转换成操作内部数据源.
|
-- 作者:有点蓝 -- 发布时间:2021/1/4 20:19:00 -- 不要设置cmd.ConnectionName就是操作的内部表 |
-- 作者:夜点蚊香 -- 发布时间:2021/1/5 1:38:00 -- 请问最后两句如何改一下 cmd.CommandText = "insert into " & tbn & "(" & cn.TrimEnd(",") & ") values(" & cv.TrimEnd(",") & ")" cmd.ExecuteNonQuery 代码最后两句怎么改才能找到对应狐表内部数据表. 现在用的代码是 Dim q1str As String = cv.TrimEnd(",") q1str = q1str.Trim("\'") Dim qstr As String = cn.TrimEnd(",") qstr = qstr.TrimStart("[") Dim hstr As String = qstr hstr = hstr.TrimEnd("]") kc = dtt.AddNew() kc(hstr) = q1str kc.Save 现在只有填写单个列名的时候管用,在多个列填写数据的时候,就不起作用了.求助怎么改一下.谢谢 [此贴子已经被作者于2021/1/5 1:48:15编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/5 8:29:00 -- 内部表建议直接使用datatable,即AddNew,完全没有必要使用sql |
-- 作者:夜点蚊香 -- 发布时间:2021/1/5 9:20:00 -- 帮忙看一下代码 kc = dtt.AddNew()
kc(cn.TrimEnd(",")) = cv.TrimEnd(",") kc.Save 只用这个代码的时候, 填入数据的时候报错. .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.5.29.8 错误所在事件:自定义函数,audRow 详细错误信息: 调用的目标发生了异常。 列“[客户ID],[产品ID]”不属于表 测试。 [此贴子已经被作者于2021/1/5 9:23:04编辑过]
|
-- 作者:有点蓝 -- 发布时间:2021/1/5 9:35:00 -- 很明显列名不正确,只能一个列一个列的赋值,比如 kc("客户ID") = xxx1 kc("产品ID") = xxx2
|
-- 作者:夜点蚊香 -- 发布时间:2021/1/5 9:55:00 -- 如何遍历数组并列数每个值 如何使用 For Each Next 语句遍历数组,并列出数组的值. |
-- 作者:有点蓝 -- 发布时间:2021/1/5 10:00:00 -- 比如:http://www.foxtable.com/webhelp/topics/1533.htm,看示例二 |