Здесь есть ошибка?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Здесь есть ошибка?

Сообщение dr.MIG » 28.03.2005 (Пн) 18:19

Себе в институт писал программу... Вроде всё просто, а всё какие-то нелепые ошибки допускаю. В среду нести показывать, а ещё раз обложаться не хочется. Суть ошибок в соединении с базой данных. Поэтому если не трудно скажите, plz, есть ли здесь ошибки.
Код: Выделить всё
Private Sub Form_Load()
Dim cn As New Connection, rs As New Recordset
DBName = App.Path & "/db3.mdb"
conString = "DSN=База данных MS Access;DBQ=" & DBName & ";DriverId=25;"
cn.ConnectionString = conString
cn.Open
strQuerry = "Select*FROM " & "Table_Name"
rs.Source = strQuerry
Set rs.ActiveConnection = cn
rs.Open
Set MSHFlexGrid1.DataSource = rs
End Sub
Salus populi suprema lex

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 28.03.2005 (Пн) 18:46

  • App.Path может содержать финальный слэш, а может не содержать. Ввести функцию EnsureSlash.
  • Не "/db3.mdb", а "\db3.mdb". Но, при наличии той самой EnsureSlash, "db3.mdb".
  • Не уверен в правильности синтаксиса ODBC (не в смысле что есть ошибка, а просто не знаю :) ). Сходи на www.connectionstrings.com :)
  • Точно можно писать звёздочку слитно с SELECT? Я обычно пробелы ставлю всегда...
  • Таки "Table_Name" или Table_Name?
  • А не вынести ли объявления cn и rs на уровень формы, а? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 28.03.2005 (Пн) 19:30

Код: Выделить всё
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test\test.mdb;Persist Security Info=False;"

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 28.03.2005 (Пн) 19:33

Может DSN используется специально?
Lasciate ogni speranza, voi ch'entrate.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 28.03.2005 (Пн) 20:06

может быть, но что-то мне подсказывает, что он ему не нужен :wink:

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Сообщение dr.MIG » 29.03.2005 (Вт) 17:26

2 Konst One: а в чём закл. разница между моим кодом (DSN) и
Код: Выделить всё

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test\test.mdb;Persist Security Info=False;"


В чём приоритеты использования последнего кода?
Salus populi suprema lex

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 29.03.2005 (Вт) 17:49

Для создания DSN требуются дополнительные телодвижения, причем как правило со стороны пользователя. В то время как база на диске есть и в том, и в другом случае.

Это как минимум :).

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 30.03.2005 (Ср) 10:51

dr.MIG писал(а):2 Konst One: а в чём закл. разница между моим кодом (DSN) и
Код: Выделить всё
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test\test.mdb;Persist Security Info=False;"


В чём приоритеты использования последнего кода?


В твоем коде используется подключение через ODBC. Драйвер обозван по русски -> не везде пойдет.

Лучше пользуй подключение через провайдера OLEDB, как и советовали...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 154

    TopList