【发布时间】:2023-03-17 02:47:01
【问题描述】:
在给定连接和表名的情况下,我需要构成 Microsoft Access 表的主键的一个或多个字段(只需字段名称即可)。
【问题讨论】:
标签: c# ms-access primary-key
在给定连接和表名的情况下,我需要构成 Microsoft Access 表的主键的一个或多个字段(只需字段名称即可)。
【问题讨论】:
标签: c# ms-access primary-key
好的,我想我找到了。它应该适用于所有 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;
}
【讨论】: