以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- FT的内置表可否添加自增字段 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=188239) |
-- 作者:13135990604 -- 发布时间:2023/9/10 6:47:00 -- FT的内置表可否添加自增字段 我之前做web开发时,用别的数据库,都有个自增字段,比如某个用户提交一条数据,我就直接往指定表提交数据就行了,不用管提交到第几行, 它返回给我的data就是一个json,这个json里就可以返回提交或更新后的数据id,这个id是自增的,有了这个自增id,我可以随时检查数据增删改查的情况; 当然,前端提交数据后,后端也会对应的写个服务,当数据提交后,返回data对象(json)里面就有数据id字段 我用FT时发现内置表跟excel很像,下面是我学习提交数据的时候写的代码: Dim dt As DataTable = DataTables("表B") \'先声明一个表dt获得其引用,行dataRow和列dataCol可以不声明,直接引用dataTable对象 Dim 行数 As Integer dt.AddNew() \'表B增加一行 行数 = dt.DataRows.Count \'用.Count属性获取行数(int类型) dt.DataRows(行数 - 1)("账号ID") = 行数 MessageBox.Show("真实行数:" & 行数) 由于FT的开发模式可能和之前做web开发的模式不同,我也不知道如何定义上述代码属于前端还是后端,总之上面代码虽然可以正常完成数据提交,但需要用dt.addNew()方法来手动增加一行, 然后还需要用.Count属性来获取现在该表的最大行数,这两句我感觉是有点冗余的; 虽然如此,我依然还是手动的给表增加了一个ID字段(非自增,整数型),可是我感觉我这样写法是错误的,问题在于: 1.这样写了之后,我为了避免以后的数据操作出错,强迫性的让我必须去全局代码建立很多变量(表A的最大行数,表B的最大行数,表C的最大行数 。。。。) 2.然后我还需要在每次项目启动事件里,加入几行代码(有几个表就要写几行),把所有表的最大行数取出来,赋值给全局变量 3.以后我在增删改查时,都要去全局变量里取所有表的行数,这样才可能不会出错 以上,是我个人这几天学习的对FT的理解,我知道有句古话叫:"代码有BUG,首先怀疑自己,其次还是自己", 请蓝老大包容一下我这个新手,我其实依然怀疑是我自己的问题,对FT的理解不够,我想FT肯定是有办法已经完备的处理的以上我的疑惑的, 解决方案请老大告诉我一下,蟹蟹啊~ |
-- 作者:有点蓝 -- 发布时间:2023/9/10 20:09:00 -- 在Foxtable创建的表默认就是有一个自增字段的,这个自增列名称为“_identify”。http://www.foxtable.com/webhelp/topics/1807.htm |
-- 作者:13135990604 -- 发布时间:2023/9/10 21:24:00 -- 我们FT里的表不都默认是 Access吗,为什么没有 _identify 我看文档里写的要自己去Access建表 |
-- 作者:13135990604 -- 发布时间:2023/9/10 21:24:00 -- 就是为什么FT里自带的表不能这样设置 还请详细告知下步骤 |
-- 作者:有点蓝 -- 发布时间:2023/9/10 21:39:00 -- FT里自带的表肯定都有_identify,不过这个被当做系统列,不会显示到界面的。自增列都是由数据库控制的,正常情况下用户也不需要看到这列的值,也无法手工改这个列的值。 除了一些特殊的功能,Foxtable不会要求要自己去Access建表的,目前在要自己去Access建表的应该也就外部用户管理(http://www.foxtable.com/webhelp/topics/2723.htm)这个功能需要用到。
|
-- 作者:13135990604 -- 发布时间:2023/9/11 1:02:00 -- 好的 明白了 谢谢蓝老大 |