powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / заполнение Datagrid при загрузке формы.
19 сообщений из 19, страница 1 из 1
заполнение Datagrid при загрузке формы.
    #34556499
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите что я не так сделала?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Form_Load()
Dim strSQL As String
Dim cnn As New ADODB.Connection
Dim adr As New ADODB.Recordset
Dim cmd As ADODB.Command
Dim strConn As String
strConn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;" & _
          "DATABASE=doc; USER=root;PASSWORD=akista;OPTION=3"
cnn.CursorLocation = adUseServer
cnn.ConnectionString = strConn
cnn.Open
adr.Open "select * from docs ", cnn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = adr
adr.Close
cnn.Close
End Sub

в строке где пытаюсь присвоить датагриду данные: Set DataGrid1.DataSource = adr
пишет RunTime error 7004 "The rowset is not bookmarkadle"
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34556583
Фотография Magnus23
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
cnn.CursorLocation = adUseClient

Это во-первых.
А во-вторых прекращайте клепать код не понимая смысла написанного. Надо ж и документацию иногда читать, тогда и проблем бы небыло.

Конкретнее: в соеденении указан серверный курсор, а в рекордсете вы требуете статический, т.е. клиентский, но если есть явнбое указанбие параметра в соеденении то рекордсетные параметры не учитываются. Кстати не уверен поддерживает ли mysql серверный курсор вообще. Все это описано в документации. А также в гугле, если запустить поиск по описанию ошибки. Многие ссылки ведут на топики этого же форума с обьяснениями почему это происходит и чтобы их найти нужно потратить 2 минуты.

Гугл и Ф1 ваши друзья. Фотку в студию.



Magnus
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34556834
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто когда я делаю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Private Sub Form_Load()
Dim strSQL As String
Dim cnn As New ADODB.Connection
Dim adr As New ADODB.Recordset
Dim cmd As ADODB.Command
Dim strConn As String
strConn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;" & _
          "DATABASE=doc; USER=root;PASSWORD=akista;OPTION=3"
cnn.CursorLocation = adUseClient
cnn.ConnectionString = strConn
cnn.Open
adr.Open "select * from docs ", cnn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = adr
adr.Close
cnn.Close
End Sub
то поле грид остается пустым. Вот я и подумала что это не правильно.
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34556898
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мальчики, помогите! мне программу послезавтра отдать нужно! :( иначе директор съест!
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34556913
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
Set DataGrid1.DataSource = adr
 adr.Close 
Лепим рекордсет и тут же его закрываем?
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34557044
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
adr.Open "select * from docs ", cnn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = adr

я значит не права. :) как я понимаю эти две строки:
adr.Open "select * from docs ", cnn, adOpenStatic, adLockReadOnly - открываю свою таблицу.
Set DataGrid1.DataSource = adr - присваиваю гриду значение adr.

если строкой Set DataGrid1.DataSource = adr я грид только "прилепила" то как присвоить ему значение?
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34557064
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Н-да. Нужно поосторожней с жаргоном.
Лепим - имеется ввиду присваиваем его датагриду, прилепляем.

Нужно просто убрать adr.Close.
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34557122
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! ты мой спаситель! :) вот только получилось после того, как я убрала и cnn.Close
критическая ли ошибка, если я не буду закрывать соединение?
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34557305
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень. Можно сделать Set adr.ActiveConnection = Nothing и закрыть соединение.
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34558078
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один вопрос:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Private Sub Command1_Click()
Dim strSQL As String
Dim cnn As New ADODB.Connection
Dim adr As New ADODB.Recordset
Dim cmd As ADODB.Command
Dim strConn As String
strConn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;" & _
          "DATABASE=doc; USER=root;PASSWORD=akista;OPTION=3"

cnn.CursorLocation = adUseClient
cnn.ConnectionString = strConn
cnn.Open
adr.Open "select * from docs", cnn, adOpenKeyset, adBathOptimistic 
adr.AddNew
adr![firm] = sdfasfasf
adr![User] = вапвапвапвап

End Sub
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34558095
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
adr.Open "select * from docs", cnn, adOpenKeyset, adBathOptimistic в этой строке выдает ошибку 3001:
Аргументы имеют не верный тип,выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34558770
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну кто-нибудь, подскажите! По идее ошибка незначительная, но я немогу понять в чем она заключается.
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34559097
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
adBathOptimistic? Оптимистичная ванная?
adLock Bat c hOptimistic
В таких случаях помогает Option Explicit в начале модуля.

Код: plaintext
1.
adr![firm] = sdfasfasf
adr![User] = вапвапвапвап
Текстовые данные должны быть в кавычках.
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34559199
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!!! не представляешь как я тебе благодарна! я думала уже завта к начальнику на ковер придется идти. :) еще раз спасибо!
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34559324
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фотку в студию =)
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34559336
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Фотка в студии... а у меня очередная лажа... данные - не сохраняются. :(
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34559341
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
прошу прощения, код не выложила...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Dim strSQL As String
Dim cnn As New ADODB.Connection
Dim adr As New ADODB.Recordset
Dim cmd As ADODB.Command
Dim strConn As String
strConn = "DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;" & _
          "DATABASE=doc; USER=root;PASSWORD=akista;OPTION=3"

cnn.CursorLocation = adUseClient
cnn.ConnectionString = strConn
cnn.Open
adr.Open "select * from docs ", cnn, adOpenDynamic, adLockBatchOptimistic
adr.AddNew
adr![firm] = firm
adr![data_from] = thislo
adr![modyfy] = Command3.Caption
adr![User] = polzov
adr![viddoc] = tip_doc
adr![firma] = zakazchik
adr.Update
adr.Close
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34559421
ЕленаMC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашла ошибку... место adLockBatchOptimistic надо было adLockOptimistic :)
Antonariy - не правильно подсказал
...
Рейтинг: 0 / 0
заполнение Datagrid при загрузке формы.
    #34560030
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При adLockBatchOptimistic нужно использовать UpdateBatch.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / заполнение Datagrid при загрузке формы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]