|
Lazarus+SQLite - правка/удаление записей БД
|
|||
---|---|---|---|
#18+
Использую Lazarus + SQLite. На форме: TSQLite3Connection, TSQLTransaction, TSQLQuery (свойство ReadOnly=False), TDataSource, TDBGrid. При работе не могу отредактировать/удалить записи в базе ни через DBNavigator ни своими кнопками. В Сети читал, что при таких операциях результат запроса сначала отражается только на DBGrid. Чтобы обновить в базе, нужно применить метод Update - как это сделать (а может и что-то другое) моя голова не понимать ;). Прошу помощи. Ниже, код. Код: pascal 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. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2013, 15:17 |
|
Lazarus+SQLite - правка/удаление записей БД
|
|||
---|---|---|---|
#18+
alexb_sql, используй DB контролы, и если надо с кнопками то методы методы Append[Insert]/delete/edit ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2013, 16:59 |
|
Lazarus+SQLite - правка/удаление записей БД
|
|||
---|---|---|---|
#18+
alexb_sqlprocedure TForm1.button_saveClick(Sender: TObject); begin SQLQuery1.Active:=False; SQLQuery1.SQL.Text:='insert into baza(abon,nomer,descript) values ("'+edit_abon.text+'","'+edit_nomer.text+'","'+memo1.text+'")'; SQLQuery1.ExecSQL; SQLQuery1.ApplyUpdates(); // <= !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! SQLQuery1.SQL.Text:='select * from baza;'; SQLQuery1.Active:=True; end; Попробуйте так ! ApplyUpdates() - "посылает" изменения в базу - надо ставить сразу после ExecSQL(); ... |
|||
:
Нравится:
Не нравится:
|
|||
31.08.2013, 11:43 |
|
Lazarus+SQLite - правка/удаление записей БД
|
|||
---|---|---|---|
#18+
_____vo id, когда авторSQLQuery1.ExecSQL; SQLQuery1.ApplyUpdates(); // <= !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ошибка: ...невозможно выполнить... на inactive dataset если изменить SQLQuery1.Active:=False; на True, тогда ошибка: ... невозможно выполнить... на active dataset pit_alex можно подробней насчет авториспользуй DB контролы, и если надо с кнопками то методы методы Append[Insert]/delete/edit C Лазарусом и Паскалем знаком около месяца. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2013, 10:02 |
|
Lazarus+SQLite - правка/удаление записей БД
|
|||
---|---|---|---|
#18+
Все. Вопрос снят. Нижеприведенная конструкция работает без проблем. Оказалось, не учел транзакции. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2013, 10:35 |
|
|
start [/forum/topic.php?fid=54&msg=38383858&tid=2008875]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 17ms |
total: | 174ms |
0 / 0 |