DataSet.xsd强类型如何取出某一列的数据

禁用F3 2012-10-14 12:28:22
DataSet强类型如何取出某一列的数据
最好用Linq解决
...全文
206 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
缪军 2012-10-16
  • 打赏
  • 举报
回复
被你打败了,3楼说了,用什么方法取值,和强类型有什么关系呢?

比如说,要获得CustomerID=1的那一条信息,然后显示Name:
var _c = customers.Customers.First(p=>p.CustomerId=1);
Console.WriteLine( _c.Name);
禁用F3 2012-10-15
  • 打赏
  • 举报
回复
是不是强类型取列都要遍历行?

哪如果取行呢?取dataset的第一行记录呢,一行包含很多个列,不会这样又要遍历列吧...
缪军 2012-10-14
  • 打赏
  • 举报
回复
就和使用类的属性一模一样,以下是微软MSDN的示例代码
CustomerDataSet customers = new CustomerDataSet();
SqlDataAdapter adapter = new SqlDataAdapter(
"SELECT * FROM dbo.Customers;",
"Data Source=(local);Integrated " +
"Security=SSPI;Initial Catalog=Northwind");

adapter.Fill(customers, "Customers");

foreach(CustomerDataSet.CustomersRow customerRow in customers.Customers)
Console.WriteLine(customerRow.CustomerID);
缪军 2012-10-14
  • 打赏
  • 举报
回复
这跟类型没有关系,
你用linq或者迭代方式都可以替代循环的,不同的书写风格而已

还有,弱类型强类型的说法是对面向对象设计的误读
数据就是数据,在通信中就应该是所谓“无类型的”,他们实现的是设计接口,
接口才是真正声明类型的,
一楼微软的例子中,微软的做法就是根据xml接口自动实现了CustomerId和对应字段的匹配,
只不过,这个过程是微软替我们实现的,
我们自己去实现更加容易和高效,因为这样就不用重复提供给ado.net一份接口的副本了
禁用F3 2012-10-14
  • 打赏
  • 举报
回复
还要foreach循环?
强类型还没有弱类型datatable好用?

109,876

社区成员

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

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

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