Bit类型状态的转换

                              Bit类型状态的转换

我们要做的是更改一个bit数据类型的状态True或False用来实现一条数据的启用或者作废的操作。

我们这里的是否有效的这一列不是直接显示数据表中的数据而是我们在页面显示的表格中插入了一个列,插入了一个列我们就要对这个列进行一个数据的自定义,我们这里只讲这个启用或者作废的操作,你也可以自定义一些其他数据,看你的需求。

首先写了自定义列的方法给了一个参数,这个参数里有页面查询到的所有数据,我们只需要拿到用户类型的状态列就是是否有效我们需要操作的这个列和用户类型的ID,还定义了一个bens空字符串。拿到这两个数据就进行一个判断,如果状态列为True,那么bens就加等于一个作废的按钮,如果为False就会跳到else,那么bens就加等于一个启用的按钮。

就可以根据上面的操作进行一个作废或者启用按钮的显示

下面一个方法把上面获取到的ID和是否有效参数都传进来,然后一个三目运算来进行一个变动的文字 “确定要启用/作废该用户类型”,然后就是一个询问框文字提示就是前面那个,当用户点击确定就是一个post提交把userTypeID和toVoidNo都传到控制器

在控制器这边一个int类型接收到页面传过来的ID,一个bool类型接收到页面传过来的是否有效,拿到数据之后首先是查询出页面上传过来的ID对应的数据,这就是一个单条数据的查询到对应的表中条件就是UserTypeID==userTypeId,查询出一条数据,查询出来这条数据直接进行数据的修改,就是对查询出来的数据的是否启用进行修改,修改后就是进行数据保存, myModel.Entry(dbUserType).State=EntityState.Modified;之后就是给出对应的提示传到页面,这样就修改成功了。

                                                                                                                           

BIT 类型在 MySQL 中是一种二进制数据类型的别名,用于存储整数并表示为一组位(bits)。这种数据类型可以存储真值、假值或者是更复杂的二进制信息。 ### BIT 类型的特点: 1. **长度**:BIT 的长度默认为 1 或者是一个从 1 到 64 的整数值。例如,`BIT(8)` 可以存储 8 个二进制位的信息。 2. **储存方式**:默认情况下,MySQL 使用一种称为 “big endian” 的方式来存储二进制数据。这意味着最高有效位 (MSB) 被存储在地址最低的位置,而最低有效位 (LSB) 存储在最高位置。你可以通过设置 `storage_format` 属性来改变这一点,使其采用 “little endian” 方式。 3. **转换**:通常,当你插入或检索 BIT 数据时,MySQL 会自动将它们转换为布尔值(0 表示 FALSE,非零值表示 TRUE),尽管这可能会引起一些混淆。因此,在进行复杂操作时需要特别小心。 ### 实际应用场景: - **标记或状态管理**:BIT 类型常用于数据库中作为一系列开关或状态的集合。每个位可以代表一种特定的状态,这对于管理复杂配置或者用户权限等场景非常有用。 - **压缩数据**:在某些情况下,使用 BIT 类型存储数据可能是对存储空间的一种优化手段。特别是当每种状态只使用少量的数据,并且不需要复杂的操作时。 ### 示例: ```sql CREATE TABLE Example ( bitColumn BIT(4) NOT NULL, PRIMARY KEY(bitColumn) ); INSERT INTO Example VALUES (BINARY '1010'); SELECT * FROM Example; ``` 上述 SQL 代码创建了一个包含名为 `bitColumn` 的 BIT 类型列的表,并插入了一条记录。这里我们使用了 `'1010'` 来初始化这个 4 位的 BIT 列。 ### 相关问题: 1. **如何在查询中利用 BIT 类型?** 2. **BIT 类型在何种情况下优于其他数据类型?** 3. **如何安全地处理和操作 BIT 类型数据?**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值