Как определить тип подключенной базы данных в VB6? - PullRequest
0 голосов
/ 30 октября 2009

Я пишу приложение, которое может быть подключено к нескольким типам баз данных (например, SQL Server, Oracle, MySQL и т. Д.). Это приложение, ориентированное на международную деятельность, поэтому в идеале я бы хотел сделать это без необходимости полагаться на строковые литералы, если это возможно. На данный момент я проверяю имя водителя и использую оператор регистра. Есть ли лучший способ сделать это?

Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 30 октября 2009

Один из способов сделать это - проверить объекты соединения «Имя источника данных» и свойство «СУБД»

Пример

'lets say you have a connection object like below
Cn1.ConnectionString =  "Driver={MySQL ODBC 5.1 Driver};Server=localhost;Database=dbname;User=root;Password=;Option=3"
Cn1.open
'Once the connection is opened, get the properties you are interested in
If Cn1.Properties(9) = "MS Jet" Then 'if you are connected to Access
  strDBType = "Jet"
ElseIf Cn1.Properties(11) = "MySQL" Then 'if you are connected to MySQL or MSSQL
  strDBType = "MySQL"
End If

НТН

0 голосов
/ 03 ноября 2009

Если бы я мог предложить другой подход, который хорошо работал для меня, когда я работал с VB6 в тот день.

Создайте класс Interface, который определяет ваши методы, свойства и т. Д. Возможно, одним из свойств должно быть DatabaseType. Затем создайте класс для каждого типа базы данных, которую вы будете использовать, которая реализует вышеупомянутый интерфейс.

После создания экземпляра соответствующего класса вы всегда можете запросить его свойство DatabaseType, чтобы выяснить, с какой базой данных вы работаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...