您的位置:程序门 -> vb -> 数据库(包含打印,安装,报表)



数据库设计问题!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


数据库设计问题!
发表于:2007-08-09 09:59:30 楼主
我想保存很多checkbox的值在数据库中已备以后查询,如何设计数据库比较好啊!我想到的办法是每个checkbox为一个字段,但是感觉太笨了!高人赐教
发表于:2007-08-09 14:49:581楼 得分:0
你的方法很好啊!
发表于:2007-08-10 17:51:252楼 得分:0
都放一个字段里,然后建立另一个字段,里面放序号,跟前面那字段对应
发表于:2007-08-10 22:40:463楼 得分:0
checkbox实在很多的话可以考虑用字符串
发表于:2007-08-14 10:59:484楼 得分:0
用字符串和数据库里用   check都不是太灵活

因为你的check的数量有可能会变化,不是定长的字符可以解决的,这样对应值就是变化了

最好做一个记录表,如做一个操作权限的管理

表1(操作员表)
1,   aaaa  

表2(权限列表)
1   ,管理员
2   ,收银员
3   ,登记员

表3(操作员权限表)
1,2
1,3

这样,说明操作员aaa只有收银和登记的权限,当以后权限增加后,可以随时对操作的权限增加和修改


发表于:2007-08-14 14:14:125楼 得分:0
用一个字符串字段,checkbox有三个值,0,1,2
字符串的第一个字符存第一个checkbox的值( "0 "或 "1 "或 "2 "),第二个字符存第二个checkbox的值( "0 "或 "1 "或 "2 "),,.........
查询的时候再把各个分开.
发表于:2007-08-14 15:12:546楼 得分:0
设计三个字段:
id             整型
value       整型
caption   字符   这个字段不是必需的,仅仅是为了手工查看数据库的时候方便

dim   cn   as   new   adodb.connection
dim   rs   as   new   adodb.recordset

private   sub   form_load()
        cn.connectionstring   =   "provider=microsoft.jet.oledb.4.0;data   source=f:\学习\test.mdb;persist   security   info=false "
        cn.open
        rs.open   "表1 ",   cn,   adopenforwardonly,   adlockreadonly,   adcmdtable
        do   while   not   rs.eof
                me.controls(rs.fields( "id ")).value   =   rs.fields( "value ")
                rs.movenext
        loop
end   sub

private   sub   form_unload(cancel   as   integer)
        dim   i   as   long
        dim   sql   as   string
        sql   =   "delete   from   表1 "
        cn.EXECute   sql
        for   i   =   0   to   me.controls.count   -   1
                if   typeof   me.controls(i)   is   checkbox   then
                        sql   =   "insert   into   表1   values( "   &   cstr(i)   &   ", "   &   cstr(me.controls(i).value)   &   ", ' "   &   me.controls(i).caption   &   " ') "
                        cn.EXECute   sql
                end   if
        next
        cn.close
end   sub
发表于:2007-08-14 15:16:197楼 得分:0
这个可以在窗口退出的时候保存所有checkbox的状态
窗体重新加载的时候,再从数据库里面恢复
再提供一个思路
可能跟楼主的要求不是很符合


快速检索

最新资讯
热门点击