Sql server 使用sql DataTable中存在的整数ID创建列表
我有一个整数列表:Sql server 使用sql DataTable中存在的整数ID创建列表,sql-server,list,c#-4.0,datatable,Sql Server,List,C# 4.0,Datatable,我有一个整数列表: List<int> AllowedLinks = new List<int>(); 我不希望我的列表是datarow类型的,因为我将需要整数用于以后的操作 您应该为数据行中ID所在的列编制索引 在我的代码修订版中,我使用var x作为占位符。 您需要设置datatable中包含整数值的列的索引。 更好的是,你也可以用它的名字 DataObj = new DAL(); DataTable dt int x = 0; // <= her
List<int> AllowedLinks = new List<int>();
我不希望我的列表是datarow类型的,因为我将需要整数用于以后的操作 您应该为数据行中ID所在的列编制索引
在我的代码修订版中,我使用var x作为占位符。
您需要设置datatable中包含整数值的列的索引。
更好的是,你也可以用它的名字
DataObj = new DAL();
DataTable dt
int x = 0; // <= here 0 is the index of the column with the IDs
int name = "ID"; // <= here ID is the name of the column with the IDs
dt = DataObj.GetDataTable("GetAllowedLinksForUserRole",1);
foreach (DataRow myRow in dt.Rows)
{
AllowedLinks.Add(Convert.ToInt32(myRow[x]));
// This is to use column name
// AllowedLinks.Add(Convert.ToInt32(myRow[name]));
}
签入quickwatch。必须有与行myRow关联的属性/索引。 您不能像
Convert.ToInt32((myRow.ToString())那样直接访问数据行。
相反,您需要通过
Convert.ToInt32((myRow.propertyname).ToString())
或者
Convert.ToInt32((myRow[incrementedindex]).ToString())
尝试调试代码,查看myRow中的值,并使用列名。示例myRow[“Column1”]
AllowedLinks.Add(Convert.ToInt32(myRow[x] == DBNull.Value ? 0 : myRow[x]));
Convert.ToInt32((myRow.propertyname).ToString())