DataTable怎么判断一列是否为主键?


在普通情况下,我们使用SqlDataAdapter来Fill填充DataTable,如果使用下列代码我们是不能拿到主键列的:

dataadapter.Fill(Table);
DataColumn[] cols;
cols = Table.PrimaryKey;
for(int i = 0; i < cols.Length; i++)
{
        MessageBox.Show(cols[i].ColumnName);
}

因为数据库中的主键约束在普通情况下是不会设置到DataTable中去的。

解决方法:我们可以加入一句代码,让主键约束设置到DataTable中

代码:

dataadapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
dataadapter.Fill(Table);
DataColumn[] cols;
cols = Table.PrimaryKey;
for(int i = 0; i < cols.Length; i++)
{
        MessageBox.Show(cols[i].ColumnName);
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM