以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教:查询页面,频繁报错:已添加了具有相同键的项 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123832) |
-- 作者:bahamute -- 发布时间:2018/8/24 8:41:00 -- 请教:查询页面,频繁报错:已添加了具有相同键的项 页面生成后,点击查询按钮,偶尔提示:已添加了具有相同键的项 添加的与主键有关的内容如蓝色代码所示,AddContent是不需要设置主键的,所以没找到有重复的键的项,问题到底出在哪里呢? Dim cmd As new SQLCommand cmd.C cmd.CommandText = str Dim dt As DataTable dt = cmd.ExecuteReader With wb.AddTabBar("", "tb1", 0) .AddPage("page1","列表项","./images/button.png") .AddPage("page2","表格","./images/msg.png") End With With wb.AddTable("page2","Table1") .CreateFromDataTable(dt) End With With wb.AddArticle("page1","ar1") For i As Integer = 0 To dt.datarows.count - 1 Dim dr As DataRow = dt.datarows(i) .AddContent("<br/><b>合同编号:</b> " & dr("合同编号")) .AddContent("<b>合同名称:</b> " & dr("合同名称")) For Each dc As DataCol In dt.datacols If dc.name <> "合同编号" And dc.name <> "合同名称" Then .AddContent("<b>" & dc.name & ": </b>" & dr(dc.name)) End If Next .AddContent("<a href=\'./ContractsInfo/" & dr("合同编号") & ".pdf\'>单击此处</a>下载pdf文档(5M)") .AddContent("- - - - - - - - - 第" & i+1 & "条/共" & dt.datarows.count & "条 - - - - - - - - -") Next End With wb.AppendHTML("<style>Table.fox_table {text-align: center}</style>") e.WriteString(wb.Build) \'生成网页 [此贴子已经被作者于2018/8/24 12:52:59编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/8/24 9:11:00 -- 狐表有没有更新到最新版。 这个如果不影响使用可以不理会
|
-- 作者:bahamute -- 发布时间:2018/8/24 11:58:00 -- 以下是引用有点蓝在2018/8/24 9:11:00的发言:
已升级到最新版,报错更频繁了,使用弹框反复测试,能弹出“a”,之后报错,所以问题出在蓝色代码段,但AddContent不需要设置主键,到底哪个主键重复了?狐表有没有更新到最新版。 这个如果不影响使用可以不理会
With wb.AddArticle("page1","ar1") messagebox.show("a") For i As Integer = 0 To dt.datarows.count - 1 Dim dr As DataRow = dt.datarows(i) .AddContent("<br/><b>合同编号:</b> " & dr("合同编号")) .AddContent("<b>合同名称:</b> " & dr("合同名称")) For Each dc As DataCol In dt.datacols If dc.name <> "合同编号" And dc.name <> "合同名称" Then .AddContent("<b>" & dc.name & ": </b>" & dr(dc.name)) End If Next .AddContent("<a href=\'./ContractsInfo/" & dr("合同编号") & ".pdf\'>单击此处</a>下载pdf文档(5M)") .AddContent("- - - - - - - - - 第" & i+1 & "条/共" & dt.datarows.count & "条 - - - - - - - - -") Next End With messagebox.show("b") [此贴子已经被作者于2018/8/24 12:27:48编辑过]
|
-- 作者:bahamute -- 发布时间:2018/8/24 12:49:00 -- 修改上述代码,弃用AddArticle组件,直接采用InsertHTML方式逐行生成,结果还是报错,“已添加具有相同的主键” Dim cmd As new SQLCommand cmd.C cmd.CommandText = str Dim dt As DataTable dt = cmd.ExecuteReader \' With wb.AddTabBar("", "tb1", 0) \' .AddPage("page1","列表项","./images/button.png") \' .AddPage("page2","表格","./images/msg.png") \' End With For i As Integer = 0 To dt.datarows.count - 1 Dim dr As DataRow = dt.datarows(i) wb.InsertHTML("<br/>") wb.InsertHTML("<b>合同编号:</b> " & dr("合同编号") & "<br/>") wb.InsertHTML("<b>合同名称:</b> " & dr("合同名称") & "<br/>") For Each dc As DataCol In dt.datacols If dc.name <> "合同编号" And dc.name <> "合同名称" Then wb.InsertHTML("<b>" & dc.name & ": </b>" & dr(dc.name) & "<br/>") End If Next wb.InsertHTML("<b>浏览文档: </b> <a href=\'./ContractsInfo/" & dr("合同编号") & ".pdf\'>单击此处</a>下载pdf文档(大小约为5M)<br/>") wb.InsertHTML("- - - - - - - - - 第" & i+1 & "条/共" & dt.datarows.count & "条 - - - - - - - - -","align=\'center\' style=\'margin-top:25px\'") Next [此贴子已经被作者于2018/8/24 12:49:55编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/8/24 13:53:00 -- 新建项目,单独测试一下这个页面。还有问题把项目上传看看 |
-- 作者:bahamute -- 发布时间:2018/8/24 14:14:00 -- 以下是引用有点蓝在2018/8/24 13:53:00的发言: 新建项目,单独测试一下这个页面。还有问题把项目上传看看 dt = cmd.ExecuteReader 问题是,生成网页,200多条合同的简要信息不会是超出FT或者网页的处理范围了吧。
[此贴子已经被作者于2018/8/24 14:16:29编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/8/24 14:21:00 -- 嗯,是有问题。已反馈。 |