以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教下这段代码问题在哪里? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54647) |
-- 作者:jsq96jg -- 发布时间:2014/8/1 11:30:00 -- 请教下这段代码问题在哪里? 这段代码放在项目初始化属性中,数据源中表已经存在,但 DataTables.contains("用户登记表") 仍显示为false If DataTables.contains("用户登记表")=False Then Dim Builder As New ADOXBuilder("ABC")
\'要指定数据源名称 Dim tbl As ADOXTable Builder.Open() tbl = Builder.NewTable("用户登记表")
\'创建表 With tbl .AddColumn("用户姓名"
,ADOXType.String,5) .AddColumn("单位"
,ADOXType.String,
20) .AddColumn("密码"
,ADOXType.String,
6) End With Builder.AddTable(tbl, True, True) \'增加表 Builder.Close() Syscmd.Project.Open(ProjectFile) Else If DataTables("用户登记表").DataRows.count<=0 Then Dim dr As DataRow = DataTables("用户登记表").addnew() dr("单位")="默认单位" dr("用户姓名")="默认用户" dr("密码")="123" End If
End If |
-- 作者:有点甜 -- 发布时间:2014/8/1 11:32:00 -- 定义了以后,需要重新启动,才能生效。帮助最后有说明的。 |
-- 作者:有点甜 -- 发布时间:2014/8/1 11:35:00 -- 测试了一下,代码没有问题。 |
-- 作者:jsq96jg -- 发布时间:2014/8/1 15:08:00 -- 定义完我退出系统的,相当于重启了。 是不是放在“initialize"属性里的原因?我用messagebox.show(datatables.contains("用户登记表")),显示false,帮助里说这个时候datatable都已经加载,应该已经有了的呀 |
-- 作者:Bin -- 发布时间:2014/8/1 15:11:00 -- initialize Datatable已经加载,但是这个表不是你新建的吗? 此时还没执行新建代码所以没有 |
-- 作者:jsq96jg -- 发布时间:2014/8/1 15:13:00 -- 第一次启动没有表,我就新建表,可是重启后已经有表了,应该执行else后的代码检查表内数据 |
-- 作者:jsq96jg -- 发布时间:2014/8/1 15:13:00 -- 第二次启动仍然显示没有表 |
-- 作者:Bin -- 发布时间:2014/8/1 15:15:00 -- 上个例子看看 |
-- 作者:jsq96jg -- 发布时间:2014/8/1 15:17:00 -- 这项目才开始呢,例子就这一段代码。 |
-- 作者:jsq96jg -- 发布时间:2014/8/1 15:25:00 -- 奇怪,其他表都显示true,就新建的这张表显示false,为什么? 难道新建的表还有其他什么标记没加上? |