NutzCN Logo
问答 我想问一下 数据库int类型值 遍历出来 是true
发布于 2885天前 作者 qq_722cb381 1787 次浏览 复制 上一个帖子 下一个帖子
标签:

sql语句:
SELECT
c.id AS id,
r.r_name AS regionName,
c.cb_name AS cbName,
c.cb_macid AS cbMacId,
c.cb_group AS cbGroup,
c.cb_enable AS cbEnable
FROM
sdy_cbdevice c
LEFT JOIN brt_region r ON r.id = c.r_id
WHERE c.cb_enable=1 ORDER BY c.id DESC

结果:
"id" :1,
"regionname" :"法门寺博物馆",
"cbname" :"nba",
"cbmacid" :"12wedrf",
"cbgroup" :"1212we",
"cbenable" :true

  cbenable 字段 在数据库中值是 1  查询出来是 true  这个是什么原因呢?
  cbenable
7 回复

看一下cb_enable 字段定义 应该是bit之类的

@qq_2b6bbb2b(qq_2b6bbb2b) cb_enable 字段 定义的是tinyint类型, 用生成的sql在mysql工具中查 是1 在程序中查 遍历显示 是true 我也是第一次遇见 很奇怪

@wendal 我想问一下 字段类型是tinyint 查出来的 就是 true和 false 类型要是int 就是正常的值 这是和什么有关系呢

"在程序中查 遍历显示 是true"

上代码

    Pager<Record> pager = new Pager<Record>(PAGESIZE, page);
    String searchKey = String.format("%%%s%%", key);
    Condition cnd = Cnd.NEW();
    Sql sql = dao.sqls().create("find.equipment.list");
    Sql sqlcount = dao.sqls().create("find.equipment.count");
    cnd = Cnd.where(null).and("c.cb_name", "like", searchKey).or("c.cb_macid", "like", searchKey).or("c.cb_group", "like", searchKey);
    sql.setCondition(cnd);
    sqlcount.setCondition(cnd);
    sql.params().set("pageStart", (page - 1) * PAGESIZE);
    sql.params().set("pageSize", PAGESIZE);
    pager.setEntities(SqlActuator.runReport(sql, dao));
    pager.setCount(SqlActuator.runUnq(sqlcount, dao));
    return pager;

sql语句:

/*find.equipment.list*/

SELECT
c.id AS id,
r.r_name AS regionName,
c.cb_name AS cbName,
c.cb_macid AS cbMacId,
c.cb_group AS cbGroup,
c.cb_enable AS cbEnable
FROM
sdy_cbdevice c
LEFT JOIN brt_region r ON r.id = c.r_id
$condition limit @pageStart,@pageSize;

/*find.equipment.count*/
SELECT
count(*)
FROM
sdy_cbdevice c
$condition

运行结果:
entities :[{
id :2,
regionname :"陕西历史博物馆",
cbname :"1212wqqw",
cbmacid :"qwqw1212",
cbgroup :"qwqwq",
cbenable :true
}, {
id :1,
regionname :"法门寺博物馆",
cbname :"nba",
cbmacid :"12wedrf",
cbgroup :"1212we",
cbenable :true
}],

@wendal 程序和sql语句是没有问题的 刚才我看了一下数据库 cbenable 字段类型 是 tinyint 但是长度 却为1 我改成 4 试了一下 查出来是正常的

添加回复
请先登陆
回到顶部