如何在 C# 中获取 Ms Access 表的主键
Posted
技术标签:
【中文标题】如何在 C# 中获取 Ms Access 表的主键【英文标题】:How to get the primary key of an Ms Access table in C# 【发布时间】:2009-05-14 11:06:43 【问题描述】:在给定连接和表名的情况下,我需要构成 Microsoft Access 表的主键的一个或多个字段(只需字段名称即可)。
【问题讨论】:
【参考方案1】:好的,我想我找到了。它应该适用于所有 oledb 并且是 sth。喜欢:
public static List<string> getKeyNames(String tableName, DbConnection conn)
var returnList = new List<string>();
DataTable mySchema = (conn as OleDbConnection).
GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys,
new Object[] null, null, tableName);
// following is a lengthy form of the number '3' :-)
int columnOrdinalForName = mySchema.Columns["COLUMN_NAME"].Ordinal;
foreach (DataRow r in mySchema.Rows)
returnList.Add(r.ItemArray[columnOrdinalForName].ToString());
return returnList;
【讨论】:
你救了我这么多。一个如此有用的解决方案没有我能找到的任何记录用法,这超出了我的理解范围。以上是关于如何在 C# 中获取 Ms Access 表的主键的主要内容,如果未能解决你的问题,请参考以下文章
conn.GetSchema 查找表的主键 - MsAccess