在使用DataTable.Find()方法时,提示表没有主键.解决方法是为表设置一个主键.
DataTable dt = GetDataSource();
dt.PrimaryKey=new DataColumn[] {dt.Columns[0]};//设置第一列为主键
DataRow row = dt.Rows.Find("101");//获取DataTable中主键值为101的一行数据
JScript.Alert(this, row[0].ToString());//弹出获取行的第一列的值
也可以使用DataTable.Select()对表数据进行筛选
DataTable dt=GetDataSource();
DataRow dr = dt.Select("Userid="+txtNo+"")[0]; //Userid是需要查询的字段名
两种方法的区别:
DataTable .Select()方法是对表进行操作,返回的是DataRow[] ,是一个数组.
DataTable .Find()方法是对表中的数据行进行操作,返回的是DataRow ,是一行数据.