以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- [求助]使用临时表报错 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=151902) |
||||
-- 作者:YOU -- 发布时间:2020/7/7 11:55:00 -- [求助]使用临时表报错 调用的目标发生了异常。 在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) 在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 在 Foxtable.UserFunctions.Execute(String Name, Object[] Args) 未将对象引用设置到对象的实例。 在 UserCode.A3xyNgbmSlSoidvSg(Object[] Args)
|
||||
-- 作者:有点蓝 -- 发布时间:2020/7/7 12:10:00 -- 调试看那一句代码出错 Dim dr As DataRow = TmTable.Find("OpenID = \'" & OA & "\'") if dr isnot nothing then xxxx
|
||||
-- 作者:YOU -- 发布时间:2020/7/7 14:00:00 -- cmd.Com mandText = "Se lect * fr om XL_T习题明细清单 W here 选择归属= \'" & KC & "\'" 查询出来是多行数据 Dim XT = c md.ExecuteValues If HDValues.Count = 0 Then dr = TmTable.AddNew() 这里只能新增一行 dr("OpenID") = OA dr("课程ID") = KC dr("习题ID") = XT("习题ID") 这个要怎么处理,才能查询多少,就新增多少
|
||||
-- 作者:有点蓝 -- 发布时间:2020/7/7 14:02:00 -- 多行使用ExecuteReader,然后遍历返回的表格的所有行 |
||||
-- 作者:YOU -- 发布时间:2020/7/7 14:18:00 -- 需要老师,写个案例 |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/7 14:23:00 -- 示例三 同样利用ExecuteReader,可以直接从后台提取数据合并到某个表中: Dim cmd As New SQLCommand |
||||
-- 作者:YOU -- 发布时间:2020/7/7 14:58:00 -- Dim OA As String = e.Cookies("openid") \'获取openid Dim KC As String = e.GetValues("kcid") \'获取课程ID Dim dt As D ataTable Dim Cols1() As String = {OA,KC,"习题ID","习题类型","习题题目","正确答案","习题解析",1,Date.Now,Date.Now} Dim Cols2() As String = {"OpenID","课程ID","习题ID","习题类型","习题题目","正确答案","习题解析","练习次数","生成时间","ActiveTime"} c md.CommandText = "Se lect * fro m XL_T习题明细清单 Wh ere 选择归属= \'" & KC & "\'" dt = cm d.ExecuteReader() For Each dr1 As DataRow In dt.DataRows Dim dr2 As DataRow = DataTables("TmInfos").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next 列“oWhWn1Sv3O4m43nBJRrAUpmGiF0A”不属于表 。 在 System.Data.DataRow.GetDataColumn(String columnName) 在 System.Data.DataRow.get_Item(String columnName, DataRowVersion version) 在 Foxtable.DataRow.get_Item(String ColumnName) 在 UserCode.A3xyNgbmSlSoidvSg(Object[] Args) |
||||
-- 作者:有点蓝 -- 发布时间:2020/7/7 15:06:00 -- Cols1和Cols2数值里必须是列名。赋值代码可以用回原来的用法,不一定要抄帮助的 dr2("OpenID") = OA dr2("课程ID") = KC |
||||
-- 作者:YOU -- 发布时间:2020/7/7 18:21:00 -- cmd.CommandText = "Sele ct * fr om XL_T回答明细清单 Whe re OpenID = \'" & OA & "\' AND 课程ID= \'" & KC & "\'" Dim HDValues = c md.ExecuteValues If HDValues.Count = 0 Then Dim dt As DataTable Dim Cols1() As String = {"习题ID","习题类型","习题题目","正确答案","习题解析"} Dim Cols2() As String = {"习题ID","习题类型","习题题目","正确答案","习题解析"} cm d.CommandText = "Se lect * fr om XL_T习题明细清单 Wh ere 选择归属= \'" & KC & "\'" dt = c md.ExecuteReader() For Each dr1 As DataRow In dt.DataRows Dim dr2 As DataRow = DataTables("TmInfos").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2("OpenID") = OA dr2("课程ID") = KC dr2("练习次数") = 1 dr2("生成时间") = Date.Now dr2("ActiveTime") = Date.Now dr2(Cols2(i)) = dr1(Cols1(i)) Next Next 未将对象引用设置到对象的实例。 在 UserCode.A3xyNgbmSlSoidvSg(Object[] Args) |
||||
-- 作者:linyunu1 -- 发布时间:2020/7/7 18:26:00 -- cmd.CommandText = "Sele ct * fr om XL_T回答明细清单 Whe re OpenID = \'" & OA & "\' AND 课程ID= \'" & KC & "\'" Dim HDValues As DataTable= c md.ExecuteReader() |