From 0b1cfe2aaca3f68c02bbd399a4ac722a0c778feb Mon Sep 17 00:00:00 2001 From: szekerest Date: Tue, 27 Mar 2012 00:23:06 +0200 Subject: [PATCH] Retrieve the primary key column when opening MS SQL tables and no identity column has been specified --- src/providers/mssql/qgsmssqlprovider.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/providers/mssql/qgsmssqlprovider.cpp b/src/providers/mssql/qgsmssqlprovider.cpp index 6d62fd42c669..39857203987f 100644 --- a/src/providers/mssql/qgsmssqlprovider.cpp +++ b/src/providers/mssql/qgsmssqlprovider.cpp @@ -404,6 +404,19 @@ void QgsMssqlProvider::loadFields() } } } + // get primary key + if ( mFidColName.isEmpty() ) + { + mQuery.clear(); + mQuery.exec( QString( "exec sp_pkeys N'%1', NULL, NULL" ).arg( mTableName ) ); + if ( mQuery.isActive() ) + { + if ( mQuery.next() ) + { + mFidColName = mQuery.value( 3 ).toString(); + } + } + } }