究竟DataTable的Find方法是怎么使用的?

gsuner 2003-01-03 01:33:24
MSDN的帮助里说DataTable要先有主键列。我的DataTable是用SQL语句得来的,连接了两个表,还加了几个列,如 SELECT 1 AS IsTrue,A.PrdID,A.PrdName,B.PrdType FROM product AS A INNER JOIN prdtype AS B ON A.TypeID=B.TypeID.
我用find时,总是报错说DataTable没有主键列。到底怎么用呀?多谢各位。
我是这样用find的。
DataRow dr;
object Fd=new object();
Fd="p01";
dr=MyDataTable.find(Fd); //报错:DataTable没有主键列.

//数据库中PrdID是表product的主键
多谢各位高手。如果能给个完整的例子,(包括设置主键列,MSDN中的例子实在太简单了,没有用) 将万分感谢!!!
...全文
871 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunwindone 2003-01-03
  • 打赏
  • 举报
回复
给DataTable定义一个主键列
DataTable dt=new DataTable("dTable");
DataColumn[] keys = new DataColumn[1];
dt.Columns.Add(new DataColumn("dKeys", typeof(string)));
dt.Columns.Add(new DataColumn("d1", typeof(string)));
dt.Columns.Add(new DataColumn("d2", typeof(string)));

keys[0] = dt.Columns["dKeys"];
dt.PrimaryKey = keys;
GiantHard 2003-01-03
  • 打赏
  • 举报
回复
private void FindInMultiPKey(DataTable myTable){
DataRow foundRow;
// Create an array for the key values to find.
object[]findTheseVals = new object[3];
// Set the values of the keys to find.
findTheseVals[0] = "John";
findTheseVals[1] = "Smith";
findTheseVals[2] = "5 Main St.";
foundRow = myTable.Rows.Find(findTheseVals);
// Display column 1 of the found row.
if(foundRow != null)
Console.WriteLine(foundRow[1]);
}

110,565

社区成员

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

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

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