显示mysql的属性_读取数据库数据的时候,只显示其中2个属性

数据表中有3个属性,id name cityid

读取其中一条记录的时候,只有name和cityid,id的属性读取不出来。

var comboCity=new Ext.form.ComboBox({

fieldLabel:'城市',

emptyText:'请选择',

autowidth:true,

selectOnFocus:true,

forceSelection: true,

mode:'local',

triggerAction:'all',

//triggerAction:'query',

name:'place.cityid',

id:'cityid',

store:citystore,

valueField:'id',

displayField:'name',

hiddenName:'cityid'

});

var comboPlace=new Ext.form.ComboBox({

fieldLabel:'地区',

emptyText:'请选择',

autowidth:true,

selectOnFocus:true,

forceSelection: true,

mode:'local',

triggerAction:'all',

//triggerAction:'query',

name:'place.name',

id:'name',

store:placestore,

//valueField:'id',

displayField:'name',

hiddenName:'name'

});

是不是这段代码有问题,求大手帮忙看一下。

问题补充:

Wind_ZhongGang 写道

place.cityid  place.name  哪里去读了id?

那个写在下面的,后来又很奇怪的能读出来了。。。

cm这么定义

var cm=new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(),sm,{

header:'编号',dataIndex:'id',sortable:true

},{

header:'地区',dataIndex:'name',sortable:true

},{

header:'城市编号',dataIndex:'cityid',mapping:4,sortable:true

}]);

后台sql代码这么写

SELECT p.id,p.name,p.cityid,c.name from place p,city c

WHERE p.cityid=c.id

]]>

SELECT p.id,p.name,p.cityid,c.name from place p,city c

WHERE p.name=#{name} AND p.cityid=c.id

]]>

在页面上还是显示cityid的值,无法显示city表中的name属性,是不是代码写的有问题

问题补充:

Wind_ZhongGang 写道

SELECT p.id,p.name,p.cityid,c.name from place p,city c

WHERE p.cityid=c.id   是ON 不是WHERE

SELECT p.id,p.name,p.cityid,c.name from place p,city c

ON p.cityid=c.id

]]>

SELECT p.id,p.name,p.cityid,c.name from place p,city c

WHERE p.name=#{name} ON p.cityid=c.id

]]>

如果改成这样,数据就读取不出来了啊,store是空的

问题补充:

caizi12 写道

引用

SELECT p.id,p.name,p.cityid,c.name from place p,city c

WHERE p.cityid=c.id   是ON 不是WHERE

on的话是用join关联时候才用的。像这种直接查两表,只能用where的。

你这里面有p.name和c.name 两个名字一样,你又没有进行as 肯定会出错,读不出来数据。

as是什么。。数据库学的不深入,不太知道一些术语。。

问题补充:

caizi12 写道

[code="java]SELECT p.id as id ,p.name as pName,p.cityid as cityid,c.name cName from place p,city c

WHERE p.cityid=c.id

as 重命名的意思,比如 p.id as id; as你也可以省略,比如 p.id id,p.name pName,p.cityid  城市id (也可以写中文)

貌似还是不行,按照这么写,place表里的name属性就显示空的

问题补充:

Wind_ZhongGang 写道

试过我才说的那种没有?

试过啦。。和没改之前没啥区别。。显示的还是cityid

问题补充:

caizi12 写道

那你只能调试一下了,先把sql放在查询分析器做查询,如果有数据的话,你进入debuge进入调试模式,看看刚查询后返回的数据集里面name属性有没有值,确定好到底是哪个地方把值传丢了。

debug用的还不是很熟练,看了一下午,也没看出是哪里的问题,发现它只是place的name无法在页面上显示出来,查询的时候还是能查询出结果来的。

问题补充:

caizi12 写道

SELECT p.id as id ,p.name as pName,p.cityid as cityid,c.name cName from place p,city c

一个sql里面出现两个name一定要重命名,一个pname 一个cname

网上找找debuge的方法,看看list里面的属性字段到底是什么。写程序会调试是少不了的。

在插入数据的时候提示cityid为空,用debug看的时候只有id那一栏有数据,name,cityid,cityname都为空,这个是为什么。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值