有关DataSet的问题(新手)

沈大爷 2012-08-19 09:08:56
select top 5 id,[money],title,issue,
(select name from Distinguish where id=distinguish_id) as distinguish_name from Tender
where distinguish_id in(select id from Distinguish where market_id=(select id from Market where id=1))
order by issue desc
以上是一条sql语句

public List<Tender> Select_TenderTOP(int market_id)
{
List<Tender> list = new List<Tender>();

string sql = string.Format("
select top 5 id,[money],title,issue,(select name from Distinguish where id=distinguish_id) as distinguish_name from Tender where distinguish_id in(select id from Distinguish where market_id=(select id from Market where id={0})) order by issue desc", market_id);

DataSet ds = DBHelper.Query(sql);

foreach (DataRow row in ds.Tables[0].Rows)
{
Tender tender = new Tender();
tender.id = Convert.ToInt32(row["id"]);
tender.title = row["title"].ToString();
tender.money = Convert.ToDouble(row["money"]);
tender.issue = Convert.ToDateTime(row["issue"]);
tender.distinguish.id=Convert.ToInt32(row["Service_id"]);
list.Add(tender);
}
return list;
}

可是等程序运行到
tender.distinguish.id=Convert.ToInt32(row["Service_id"]);
就有错误出现,还请各位帮帮忙
...全文
227 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
沈大爷 2012-08-20
  • 打赏
  • 举报
回复

页面中我只显示id,[money],title,issue,distinguish_name这几个字段,而 distinguish_name字段我是通过外键查询出来的,当dataset遍历的时候
tender.distinguish.id=Convert.ToInt32(row["?"]);这地方该填什么
chian_hello2012 2012-08-20
  • 打赏
  • 举报
回复
在sql语句中加上Service_id这个字段,再试试
qjf309 2012-08-20
  • 打赏
  • 举报
回复
 string sql = string.Format("
select top 5 id,[money],title,issue,(select name from Distinguish where id=distinguish_id) as distinguish_name from Tender where distinguish_id in(select id from Distinguish where market_id=(select id from Market where id={0})) order by issue desc", market_id);

怎么没看到Service_id这个字段
杰拉尔 2012-08-20
  • 打赏
  • 举报
回复
select top 5 id,[money],title,issue,
(select name from Distinguish where id=distinguish_id) as distinguish_name,
distinguish_id as Service_id
from Tender where distinguish_id in(select id from Distinguish where market_id=(select id from Market where id={0})) order by issue desc", market_id);

准确的说应该这样吧
杰拉尔 2012-08-20
  • 打赏
  • 举报
回复
select top 5 id,[money],title,issue,
(select name from Distinguish where id=distinguish_id) as distinguish_name,
(select id from Distinguish where id=distinguish_id) as Service_id
from Tender where distinguish_id in(select id from Distinguish where market_id=(select id from Market where id={0})) order by issue desc", market_id);
yp19910928 2012-08-20
  • 打赏
  • 举报
回复
+1[Quote=引用 2 楼 的回复:]

SQL语句中加入字段

string sql = string.Format("
select top 5 id,[money],title,issue,(select name from Distinguish where id=distinguish_id) as distinguish_name,Service_id from Tender where distinguish_i……
[/Quote]
mybabecloud 2012-08-20
  • 打赏
  • 举报
回复
没有设置文字颜色的地址,也不能用直接写HTML代码将文字变红色,郁闷
少加一个字段 Service_id
mybabecloud 2012-08-20
  • 打赏
  • 举报
回复
你的SQL语句里没有加入这个字段啊

select top 5 id,[money],title,issue,
(select name from Distinguish where id=distinguish_id) as distinguish_name,
<label style="color:red">Service_id</label>

from Tender
where distinguish_id in(select id from Distinguish where market_id=(select id from Market where id=1))
order by issue desc
暖枫无敌 2012-08-19
  • 打赏
  • 举报
回复
SQL语句中加入字段

string sql = string.Format("
select top 5 id,[money],title,issue,(select name from Distinguish where id=distinguish_id) as distinguish_name,Service_id from Tender where distinguish_id in(select id from Distinguish where market_id=(select id from Market where id={0})) order by issue desc", market_id);
zhujiazhi 2012-08-19
  • 打赏
  • 举报
回复
貌似没有发现这个Service_id字段的,在sql查询语句里面的

62,041

社区成员

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

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

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

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