1
A
回答
1
此代碼是我的O/R映射器的一部分
private string RetrieveAutoNumberColumn(OleDbConnection cnn, TableSchema tableSchema)
{
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [" + tableSchema.TableName + "] WHERE False", cnn);
DataTable dtSchema = adapter.FillSchema(new DataTable(), SchemaType.Source);
if (dtSchema == null) {
throw new UnimatrixMappingException("Table \"" + tableSchema.TableName + "\" not found. Connection = " + this._connectString);
}
string columnName = null;
for (int i = 0; i < dtSchema.Columns.Count; i++) {
if (dtSchema.Columns[i].AutoIncrement) {
columnName = dtSchema.Columns[i].ColumnName;
break;
}
}
return columnName;
}
像這樣創建
var cnn = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"C:\Data\MyDatabase.mdb\";OLE DB Services=-1");
連接,您可以檢索主鍵(這是不一定相同作爲自動編號欄)像這樣
private static void RetrievePrimaryKeyInfo(OleDbConnection cnn, TableSchema tableSchema, string[] restrictions)
{
using (DataTable dtPrimaryKeys = cnn.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, restrictions)) {
foreach (DataRow row in dtPrimaryKeys.Rows) {
string columnName = (string)row["COLUMN_NAME"];
//TODO: Do something useful with columnName here
}
}
}
其中restrictions
定義爲
string[] restrictions = new string[] { null, null, tableName };
相關問題
- 1. 如何使用列名查找數據庫名稱和表名稱
- 2. 如何使用java中的sql查詢在MSAccess數據庫文件中列出所有表的名稱?
- 3. 如何找到MSAccess數據庫中字段的約束CHECK的名稱?
- 4. 在mysql中查找用戶名,數據庫名稱和版本?
- 5. 在C#中使用數據源名稱幫助查找SQL Server名稱
- 6. 從C#中,如何查找SQL Server中表的列名稱?
- 7. 查找調用函數的代碼的DLL名稱C#
- 8. 選擇數據庫名稱,表名稱和列名稱。
- 9. 使用.net獲取名稱表,名稱列,名稱數據
- 10. 如何根據列名稱查找表的名稱,然後訪問所述表
- 11. 如何在導軌控制檯中查找數據庫名稱
- 12. 如何使用c查找交換服務器的數據庫名稱#
- 13. 數據庫列的列表名稱
- 14. 如何在C代碼庫中查找使用參數類型列表?
- 15. 閱讀架構名稱,表名稱和列名從一個SQL數據庫返回到C#代碼
- 16. 使用三列計數名稱 - 代碼
- 17. 如何在圖的名稱中使用列表名稱?
- 18. 如何在查詢中縮短或別名數據庫名稱?
- 19. 如何使用正則表達式在數據表中查找名稱
- 20. 如何使用列表中的名稱訪問數據幀列
- 21. 從存儲過程名稱查找數據庫名稱
- 22. 在sqlalchemy中使用數據庫名稱限定表名
- 23. 如何找到數據庫中表的名稱? ASP經典
- 24. 在數據庫中列出數據庫和表名稱?
- 25. 搜索代碼庫以查找表名稱
- 26. 查找代碼Outlook聯繫人,其中全名,如「名稱」
- 27. 如何找到當前使用的數據庫的名稱?
- 28. 如何根據顏色代碼查找顏色名稱?
- 29. 如何檢查數據庫列中persent的給定名稱
- 30. 如何在WPF中使用名稱查找代碼隱藏創建的控件