GridView 根基ID获取Name的值,由于有些ID相同,Name的值也一样,怎样才能取出不一样的值

weng0234 2012-07-12 02:01:51
主键ID Name Quenen
xz4 曹 云 1
xz9 陈 维 1
xz4 陈国峰 1
js 陈丽婷 4
xz10 陈世明 1
xz20 陈祥霞 2
js 陈瑶华 3
xz10 陈叶珍 1
xz5 崔金宝 1
xz5 董吕道 3
xz3 范洁梅 1
xz9 付姝兰 2
上面是数据表。

GridView 根基ID获取Name的值,由于有些ID相同, Name的值也一样,怎样才能取出不一样的值
(三层架构下的)初学者,请多多包涵
...全文
239 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
weng0234 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]

[/Quote]
别生气,给你结分了
若-相惜 2012-07-12
  • 打赏
  • 举报
回复
weng0234 2012-07-12
  • 打赏
  • 举报
回复

问题解决了。我好粗心大意啊
主要感谢 ruiruixu 亲~
紫魂一号 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
xz5 崔金宝 1
xz5 董吕道 3


根据 ID“xz5” 获取Name的值,显示出2个“崔金宝”;
[/Quote]

这里不是还有一个序号字段么。。
紫魂一号 2012-07-12
  • 打赏
  • 举报
回复
两个字段不行就用三个字段。。。
若-相惜 2012-07-12
  • 打赏
  • 举报
回复
亲 如果你非得要重复的id
但要保证name不同

SELECT * FROM tb_CadreInfo

赋值给你的gridview

前台
<%#Eval("vcDepartID")%>
<%#Eval("vcCadreName")%>
这样还会重复吗
饕餮123 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 13 楼 的回复:

亲 id的唯一是个问题

但是重复的id 不同的name 你这代码不能这样写


大大,我该怎么办 啊
[/Quote]

给数据库设置主键,用主键取值
weng0234 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

亲 id的唯一是个问题

但是重复的id 不同的name 你这代码不能这样写
[/Quote]

大大,我该怎么办 啊
若-相惜 2012-07-12
  • 打赏
  • 举报
回复
亲 id的唯一是个问题

但是重复的id 不同的name 你这代码不能这样写
weng0234 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 3 楼 的回复:
作为主健,应该是唯一值


是啊,主键也能重复吗???
[/Quote]

看4楼
IT求解释 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
作为主健,应该是唯一值
[/Quote]

是啊,主键也能重复吗???
若-相惜 2012-07-12
  • 打赏
  • 举报
回复
亲 给gvMain绑定id的时候 没有绑定VcCadreName吗

为什么还要在RowDataBound里根据id去查询

你的id有重复的时候 GetReader只会返回第一个VcCadreName 所以 有两个重复的name
oiuyt89561 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
作为主健,应该是唯一值
[/Quote]不对,他应该是没设置主键,那个名字只是叫主键ID
weng0234 2012-07-12
  • 打赏
  • 举报
回复
Up!!
oiuyt89561 2012-07-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
作为主健,应该是唯一值
[/Quote]有道理,数据库的主键都是唯一的,你这样肯定会出错的,更不用说其他的了
weng0234 2012-07-12
  • 打赏
  • 举报
回复

protected void gvMain_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)//判断行类型
{
string gvId = gvMain.DataKeys[e.Row.RowIndex].Value.ToString();//得到部门id
tb_CadreInfo ev = CadreInfoManager.GetCoadreById(gvId);

e.Row.Cells[0].Text = ev.VcCadreName;
}
}


DAL层

public static tb_CadreInfo GetCoadreById(string cadreId)
{
string sql = "SELECT * FROM tb_CadreInfo WHERE vcDepartID = @vcDepartID";

SqlDataReader reader = DBHelper.GetReader(sql, new SqlParameter("@vcDepartID", cadreId));
if (reader.Read())
{
tb_CadreInfo cNAme = new tb_CadreInfo();

cNAme.VcDepartID = (string)reader["vcDepartID"];
cNAme.VcCadreName = (string)reader["vcCadreName"];
cNAme.Td_DepartQueue = (int)reader["td_DepartQueue"];

reader.Close();

return cNAme;
}
else
{
reader.Close();
return null;
}
}
若-相惜 2012-07-12
  • 打赏
  • 举报
回复
最好代码贴出来看下
weng0234 2012-07-12
  • 打赏
  • 举报
回复
打个比方 这张表是公司成员表。

公司有 人事部,销售部等好几个部门。ID就是部门, 部门里有N个成员
成员就是 Name
MSDNXGH 2012-07-12
  • 打赏
  • 举报
回复
作为主健,应该是唯一值
weng0234 2012-07-12
  • 打赏
  • 举报
回复
xz5 崔金宝 1
xz5 董吕道 3


根据 ID“xz5” 获取Name的值,显示出2个“崔金宝”;
加载更多回复(1)

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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