数据库存入复选框数据

11 篇文章 0 订阅

需要将表单中复选框的值存入数据库中,一般来说有以下几种方法。
例:喜欢的运动

篮球
足球
羽毛球
使用字符串存储
篮球为1,足球为2,羽毛球为3
喜欢篮球和足球,则在数据库中存1,2
优点:简单易懂
缺点:不利于高级的数据统计,比如统计喜欢篮球的人有哪些

使用位运算
篮球=2 足球=4 羽毛球=8
数据库中存选中的选项之和,选中篮球、足球,则存2+4=6
取数据时,将存放的结果和所有数字做位运算,结果>0则选中,<=0则未选中。
例:想知道篮球有没有被选中,用2和6做与运算,0010&0110=0010>0,则选中篮球
8和6做与运算,1000&0110=0,则未选中羽毛球
https://6318343.iteye.com/blog/2220659
优点:存放方便,节省空间,代码简洁
缺点:数据需要计算,不清晰,有沟通成本,同样也无法进行高级统计

新建数据表
新建一个运动表,表结构为用户ID、喜欢的运动,如果用户喜欢篮球和足球,就存放两条数据,查询时一起查出来。
优点:表结构清晰,适合存放复杂的内容,可以做高级统计
缺点:需要重新建表,做关联查询,比较麻烦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DataBaseTool: 简单的数据库查询、修改工具。 最新版本: 1.0.0.7 20190616 如不能正常执行,请运行 Regist.bat 注册必要的组件。 (在win7下可能由于权限的问题无法复制和注册文件到系统目录,解决方法是: 打开‘开始’菜单->‘所有程序’->‘附件’,右键点击‘命令提示符’,选择‘以管理员身份运行’, 启动命令行程序后,转到本程序目录,然后执行Regist.bat) 本程序可用的数据库可以是Access的.mdb文件,.xls文件,.csv文件,.txt文件等 也可用于打开SQL Server数据库和已建立ODBC数据源的其他数据库 若要打开mdb文件、xls文件、csv文件、txt文件,可以点“Browse”按钮定位文件,也可以直接把文件拖到MdbFile列表框中。 若要打开SQLServer数据库,则需要在MdbFile输入框中输入“sql:ServerName,DataBaseName,UserName,Password”, 其中 ServerName 是数据库服务器的名称或IP地址 DataBaseName 是数据库名称 UserName 是用户名称 Password 是用户密码 若要连接其他数据库,可以直接输入数据源的名称(DSN),格式为:“dsn:数据源的名称;uid=用户名;pwd=密码” Field1 和 Field2 是查询条件,所选表格的字段已列出,点选字段名、比较运算符,然后在后面输入条件 支持最多两个查询条件,如果需要更多查询条件或者构造更复杂的条件,请点击 “ExeSQL” 按钮,在那里可以自己输入任何合法的 SQL 命令,程序将帮您执行它! FieldToReplace 及下面两个输入框是用来把数据表中某一个字段中的特定字符串替换为其他字符串: StrTobeReplace 是需要被替换掉的字符串,StrToReplace 是用来替换的字符串! (不要奇怪为什么会提供如此奇怪的功能!是因为工作需要替换某个表中所有记录的某个字段的指定字符串,才写了这个程序,就是说这个功能是写这个程序的初衷!) 如果点选 Order 复选框,则会按照 Field1, Field2, FieldToReplace 的顺序排序,如果 Field1 或者 Field2 已经是 查询条件的一部分,则不参与排序。 如果点选 AutoUpdate 复选框,则在下面表格中修改的数据会自动更新到数据库中,如果仅修改一个单元格的数据,则修改完后需要按回车键确定才会存入数据库! 如果没有点选 AutoUpdate 复选框,并在表格中修改了数据,按“UpDate”按钮也可以把修改的数据更新到数据库中(这个不太常用!) 右侧的字段列表是查询时需要显示的列,如果一个也不选或者全选,则都将查询所有字段(即select *) 【常用的】 EXESQL 按钮: 可以直接输入一个简单的SQL命令并执行。 ‘Show queried data’ 选项: 指示所输入的 sql 命令是否会返回数据集,如果勾选,程序会尝试读取返回的数据集,如果不勾选,程序就只是执行命令并尝试返回受影响的行数。 程序会自动判断这个命令是否会返回数据集,如果判断为会返回数据集,比如输入的是一个 类似 select * from 的命令,则自动勾选‘Show queried data’。如果您确定命令会返回数据集但这个选项没有自动勾选,您可以手动勾选, 这样程序就会尝试读取并显示得到的结果。 ‘LongSQL’按钮: 如果您想要输入一个很长很复杂的命令,可以再按‘LongSQL’按钮,会弹出一个可以输入多行文字的新输入窗口,然后就可以在其中输入多行命令。 换行: 在这个输入控件中,直接按回车就是换行,如果按 Ctrl+回车 则相当于按‘OK’按钮,会立即执行输入的命令。 多个命令: 如果想要一次执行多个命令,比如几百几千行的 insert 命令,可以一次把所有这些命令都复制到 LongSQL 的输入框中, 每一命令之间用英文分号';'分隔,然后按 Ctrl+回车 或点击‘OK’按钮执行。 ‘Ignore errors’选项: 如果输入的多行命令可能有些会出错,比如 insert 了重复的数据,并且希望除出错的命令外其他的命令可以正常执行,可以选中这个选项, 这样的话,程序会跳过出错的命令并继续执行后面的命令。 数据导出: ‘Export’按钮: 如果想要导出查询或命令的结果,可以在结果显示出来后,按‘Export’按钮,程序会自动启动Excel并把数据导出到Excel中;如果电脑上没有 安装Excel,则这个按钮不起作用。 复制数据: 用户可以选择把数据复制到剪贴板上,复制有2种方式: 1) 复制所选行 按住 Ctrl 键并用鼠标点击每行的行首,可以选择多行(所选择的行并不要求相邻),选择完毕后,在所选行上点击鼠标右键选择 ‘Copy’菜单进行复制。 2) 复制所选列 点击需要复制的第一列的列标题,然后按住‘Shift’键再点击需要复制的最后一列的列标题(按列复制时要求这些列必须相邻), 选择完毕后,在所选行上点击鼠标右键选择‘Copy’菜单进行复制。 ‘Copy’菜单有2个,一个是 ‘Copy(Using Tab)’,另一个是‘Copy(Using ',')’, 如果选择‘Copy(Using Tab)’则复制的数据中,各字段值之间会用 Tab 分隔, 如果选择‘Copy(Using ',')’则复制的数据中,各字段值之间会用英文的逗号分隔。 ================================================================================== 特别的命令: 如果想查看每个表格中各有多少数据,可以执行: SELECT $TABLEINFO$ 如果想查看某个表格的字段定义,可以执行: SELECT $FIELDINFO$ where table=TableName,其中‘TableName’是您想查看的表格的名称 ================================================================================== 这个程序可以作为临时或不想打开庞大的数据库软件时查看或修改数据的小工具,也可以作为验证sql是否正确的工具! 或者通过在界面上点选查询条件,按 “Find” 按钮,然后再按 “ExeSQL” 按钮,然后把自动生成的sql命令复制出来用到其他地方,即把这个程序作为简便的生成sql命令的工具. win7 或 win10系统下,需要以管理员身份运行 Regist.bat 以注册所需的组件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值