在做动态建表时,遇到了一个很棘手的问题:如何判断一个表在数据库中是否存在?开始,想到的是:先去执行创建表的SQL语句,如果此语句错误,则该表可能存在于数据库当中(为什么?)
后来,感觉此法大大不妥,上网查了半天,才知道这个问题可通过系统表圆满的解决。
Access当中系统表中有一个叫Msysobjects的,Access2003中可能把几个表都隐藏了,并且默认状态下是不能对这几个表进行 *** 作的,如果需要 *** 作这几个表,需要对相关的权限进行相应的设置:具体如下:
1、把系统表显示出来:工具---------->选项 在显示标签中选中 “系统对象”
2、设置权限: 工具----------〉安全-----------〉用户与组的权限 在“对象名称”里面选中MsysObjects,在“权限"标 签 当中设置权限。
ACCESS2000文件格式
第一步:显示系统表
菜单:工具>选项
选项卡:试图
显示:系统对象
第二步:设置系统表的 *** 作权限
菜单:工具>安全>用户与组权限
对象名称:选择需要设置权限的系统表名称(MSysObjects)
权限:复选择“查询数据”,“更新数据”,“插入数据”,“删除数据”
第三步:确定按钮,OK!
你这个需求特殊,给你个思路。
先通过数据库元数据对象DataBaseMetaData和ResultSetMetaData得到表的元数据的信息。
生成类,可以用反射的方式和修改字节码的方式。修改字节码方式可以使用开源的CGLib这个库,Hibernate就是使用的这个库。这个生成是在内存的。
估计,将java代码写成java文件,再调用编译器编译形成class也能完成需求。
就是不知道哪个适合你。效率上,肯定是上面两种好,最后一种差一些。
用户名 密码 真实姓名 电话 家庭地址 本人简介 varchar 长度50就好(家庭地址,本人简介 可适当加到:200)
性别 年龄 也可以是varchar 长度 4 就好 不适合用boolean (是否 作为性别的判断不太好,很少见)
性别如果用:0,1 替代用 int 长度 4
年龄 适合用int 长度 4
表结构如下
表1,字段说明表
主键id
字段名(允许重名,用于多个Checkbox或Radio的多选,对于Textbox)
字段类型,如TextBox或Checkbox
字段长度
默认值
其它
表2:用户录入表
字段id(上表id)
值
用户id
其它
数据库不需要特别的设计,只要人员的表有一个 人员类型 的字段就可以了
比如控件A,是typea类的人员可见,控件B是typeb类的人员可见
1,你在窗口初始化的时候读取数据库,如果人员是 typea 就动态生成控件A 反之生成 控件B
2,控件A和B都布局好,如果人员是 typea 类,就把控件A设成可见,控件B设置成不可见
执行效率和资源的占用,动态控件要比较好,当然还是要看你的控件本身
以上就是关于如何使用 动态字段 查询表数据全部的内容,包括:如何使用 动态字段 查询表数据、如何根据数据库的字段动态创建实体类 用java啊~ 最好给点源码和实例、帮我设计一下 mysql数据库的字段类型,再介绍下各个字段所对应实际数值的长度。谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)