绑定到dataGridview多出现了两列额

baishaoge 2012-03-29 12:05:09

select singer_id,singertype_name,singer_name,singer_gender,singer_description from singer_info,singer_type where singer_name='bobo' and singertype_name=(select singertype_name from singer_type where singertype_id='1')

这样写的查询 但是 用list 绑定到datagridview 就多显示了2列
这怎么事
...全文
234 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycproc 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

查询出来的就是 那5列数据
[/Quote]

那贴后台代码
baishaoge 2012-03-29
  • 打赏
  • 举报
回复
查询出来的就是 那5列数据
EnForGrass 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
SQL code

select singer_id,singertype_name,singer_name,singer_gender,singer_description from singer_info,singer_type where singer_name='bobo' and singertype_name=(select singertype_name from singer_……
[/Quote]
看sql没有要看代码。其次你先把sql放到查询分析器中执行一下,看看结果有哪些数据
tmd456 2012-03-29
  • 打赏
  • 举报
回复
datagridview 设置问题
baishaoge 2012-03-29
  • 打赏
  • 举报
回复

public List<Singer_info> Select(string name, string id)
{

List<Singer_info> infoList = new List<Singer_info>();
StringBuilder sb = new StringBuilder("select singer_id,singertype_name,singer_name,singer_gender,singer_description ");
sb.AppendFormat(" from singer_info,singer_type where");
sb.AppendFormat(" singer_name='{0}' and singertype_name=(select singertype_name from singer_type where singertype_id='{1}') ",name,id);
DataSet ds = DataBase.GetDateSet(sb.ToString(), "singerinfo");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
Singer_info info = new Singer_info();
info.singer_id = Convert.ToInt32(ds.Tables[0].Rows[i]["singer_id"]);
info.singer_name = ds.Tables[0].Rows[i]["singer_name"].ToString();
info.singer_gender = ds.Tables[0].Rows[i]["singer_gender"].ToString();
info.singer_description = ds.Tables[0].Rows[i]["singer_description"].ToString();
info.Singertype_name = ds.Tables[0].Rows[i]["singertype_name"].ToString();
infoList.Add(info);
}
return infoList;

返回逻辑层 在绑定到控件上
覃祖甘 2012-03-29
  • 打赏
  • 举报
回复
你的dataGridView1控件设置有问题,你说不定是在里面建了默认的两栏.
如果是,全删掉即可.
我爱白富美 2012-03-29
  • 打赏
  • 举报
回复
在你绑定dataGridView1的数据源时,可能名字和数据库的字段名字不一致,所以这两列数据没有正确绑定,自然多出来了两列
kkgoose 2012-03-29
  • 打赏
  • 举报
回复
是不是自动生成列没关啊?
dataGridView1.AutoGenerateColumns = false;
coffee_sugar 2012-03-29
  • 打赏
  • 举报
回复
你把代码贴一下,查询没问题就是你绑定时出的错
exception92 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
是不是自动生成列没关啊?
dataGridView1.AutoGenerateColumns = false;
[/Quote]

可能哦、
rain429 2012-03-29
  • 打赏
  • 举报
回复
我也想知道怎么回事?
EnForGrass 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

C# code

public List<Singer_info> Select(string name, string id)
{

List<Singer_info> infoList = new List<Singer_info>();
StringBuilder sb = new StringBuil……
[/Quote]
把 Singer_info info = new Singer_info();
放到循环外面去,还有你是多了两列还是两行、??

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧