|
|
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Пожалуйста, дайте простой пример для выборки и добавления записи в базу данных, с использованием vb6 ado. Меня интересует программный способ ( связанные элементы формы это не то.). Английский знаю плохо, по этому запутался в msdn. Смог выудить частично понятную информацию. Но применить к делу затрудняюсь. Поскольку даже не понимаю, что и где объявлять. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 05:05 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Dim rs As New ADODB.Recordset Dim con As New ADODB.Connection con.Open " строка соединения" With rs .ActiveConnection = con .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockBatchOptimistic .Open "SELECT * FROM authors" .AddNew .Fields("firstname").Value = "" .Fields("anonimous").Value = "anonimous" .UpdateBatch End With rs.Close con.Close Set rs = Nothing Set con = Nothing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 07:41 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Я вероятно, что-то не правильно сделал. Compile error: User-defined type not defined На строке Dim rs As New ADODB.Recordset У меня в другой программе было: dim oCat As ADOX.Catalog Возможно я где-то на путал? Было ADOX, а стало adodb И строка подключения, не знаю, что правильно писать, сделал: Код: plaintext 1. Я раньше кодил на php + mysql, там совсем всё по другому. А тут сел за vb6 и теперь в полном ступоре от работы с базами данных. Думал, что начал немного понимать, но похоже, что это весьма далеко от правды. Опишу задачу полностью. программа должна работать со списком авторов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 08:48 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
на какой строке ошибаеться? добавь в референсах MS ActiveX Data Objects и MS ADO Ext. for DLL and Securety ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 10:10 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Создал ещё один тестовый проект. Код ниже. Он же в прекреплённом архиве. Run-time error '91': Object variable or With block variable not set Не встаёт на строчку. Курсор в начале кода. Ошибок куча, и какую как лечить, не имею понятия. Конечно можно разобрать по частям, которые отдельно отлаживать. Но для этого нужна какая-нибудь рабочая база. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 11:22 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
для работы с Dim rs As New ADODB.Recordset надо библиотеку подключать Microsoft ActiveX Data Object XXXX I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 12:20 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Я подключил: Microsoft ActiveX Data Objects 2.8 Library Microsoft ADO Ext. 2.8 for DDL and Security Это не то? А тогда что мне подключать и главное как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 12:35 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
а если добавить строку Код: plaintext 1. и дописать Код: plaintext 1. и такого поля в таблице у Вас нет Код: plaintext после того как Вы сделали rs.Close в строке Код: plaintext либо не закрывайте рекордсет, либо открывайте его вновь в остальном вроде ошибок нет ? I Have Nine Lives You Have One Only THINK! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 14:49 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
В очередной раз переделываю. Выбросил всё лишнее и стал добавлять до первой ошибки с которой не могу справится. Run-time error '3001': Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом. Ошибка на строке Код: plaintext 1. Вот новый код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 18:01 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
HandKotа если добавить строку Код: plaintext 1. и дописать Код: plaintext 1. А разве Код: plaintext 1. и такого поля в таблице у Вас нет Код: plaintext Совершенно верно. Скопировал код и не обратил внимания, что название поменялось. после того как Вы сделали rs.Close в строке Код: plaintext либо не закрывайте рекордсет, либо открывайте его вновь На счёт закрытия понял rs.close , А как заново открывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2008, 18:28 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Попробуй так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. ~'J'~ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 08:39 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Благодарю за помощь! И за то что не ругались, на мою непонятливость. Я сделал, оно даже заработало и показало, так как я хотел! Некоторые места остались непонятными, но надеюсь дальше разберусь сам. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2008, 11:28 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Стыдно даже признаться, что я искал, но к сожалению так и не нашел текста понятного про ado. Даже примера нужных мне функций. Чуствую себя некуда негодным растяпой. Мне сейчас нужно две проверки. существует ли база и таблица. В крайнем случае можно обрабатывать исключения on error. Наличие же базы, конечно можно проверить, посмотрев есть ли файл *.mdb или нет. Но это же совсем не правильно! Подскажите пожалуйста, как правильно?! Наверняка же есть методы! p.s. Также буду благодарен если вы подскажите, где можно взять справочник ado для vb6, желательно русский. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 17:51 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2008, 20:27 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
можно без применения on error так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2008, 10:45 |
|
||
|
vb6 ado простой доступ к бд (помогите разобраться)
|
|||
|---|---|---|---|
|
#18+
Это я и называю извращенством! Но последний способ, где перебираются все таблицы, мне нравится больше. Сейчас попробую запихать, ваши функции, в проект и посмотрю, как оно будет работать. В мускуле помнится писал просто create table if not exist … И одной строчкой создавал таблицу, если её небыло. А ведь ado можно подключать не только к acces *.mdb, но и вроде даже к mssql или mysql? И тогда эти способы загнутся? p.s. Просто рассуждения. После кодинга для веб ломает переходить на обычные приложения. Всё время так и тянет, разбивать всё на страницы. А оно же ведь единое и неразделимое! И можно забыть о всяких сессиях. И даже бд можно подключить при запуске программы, а отключить при выгрузке? Только как быть если бд будет нужна в нескольких потоках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.02.2008, 12:49 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35119124&tid=2162712]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
264ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 211ms |
| total: | 558ms |

| 0 / 0 |
