查询在Access数据库中获取表的主键

4

我们需要编写什么查询来访问数据库以获取特定表的主键列名。

我正在使用C#和Access数据库,其文件格式为.mdb。 我正在使用OleDbConnection类。

我想要使用查询在access数据库中获取主键列名,查询类似于从sys.information_schema选择columnName。 这个查询适用于SQL Server。 我想要类似这样的查询,可以在MS Access中使用。

谢谢。


有没有查询访问数据库以检查特定表是否具有主键,如果有主键,则返回包含主键的列名。我想通过使用查询来实现这一点。 - Awadhendra
3个回答

2

我想查询与表关联的主键列名。上面的链接使用了OleDbConnection类来实现,但没有使用查询语句。我已经用OleDbConnection类完成了这个任务,但我想使用查询语句来实现。 - Awadhendra
如果我没记错的话,MSJet引擎不会携带元数据表...你需要使用ADO.NET,但我不能百分之百确定。 - mindandmedia
我知道这已经过了一段时间,而且你想要一个查询,但我有一些额外的信息:1)我认为你不能通过使用OLE提供程序的查询找到主键。2)你绝对可以通过GetOleDbSchemaTable(OleDbSchemaGuid.Columns,null)获取主键。至少在我的情况下是有效的。 - Aron Boyette


0

我已经弄清楚了。就像Awadhendra所说的那样,我必须创建一个隐藏的主列,这就是我所做的。

这是获取第一列(即隐藏列)的代码:

String SelectedID = dgvInventory.Rows[dgvInventory.CurrentRow.Index].Cells[0].Value.ToString();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接