|
|
|
Из БД не удаляются строки
|
|||
|---|---|---|---|
|
#18+
Я обращаюсб к БД через ODBC (SQL запрос: SELECT * FROM Table LIMIT 50) Методом Fill я заполняю объект DataSet: objDA.Fill(objDS, "Tbl"); objDS заполняестся правильно. Затем мне надо все извлеченные строки удалить из БД. Я пытаюсь это сделать так: objDS.Tables["Tbl"].Clear(); objDS.Tables["Tbl"].AcceptChanges(); objDA.Update(objDS."Tbl"); В результате исключений не возникает, но и строки не удаляются. В таблице нет первичного ключа, поэтому объектом OdbcCommandBuilder воспользоваться нельзя. Я пробовол также вызывать метод Delete для каждой строки в objDS, резутльтат - нулевой. И всё же возможно ли в objDS (тип DataSet) как-то пометить строки, а затем удалить их из БД? Другой вариант у меня тоже не проходит: я в objDA заполняю свойство DeleteCommand (запрос: DELETE * FROM Table LIMIT 50), затем вызваю objDA.Update(objDS."Tbl"); Не получаеися предположительно из за того, что я не указываю параметры: objDA.DeleteCommand.Parameters.Add() Но тут вроде бы и не нужны параметры... Подскажите, где ошибка в первом и втором вариантах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 15:17 |
|
||
|
Из БД не удаляются строки
|
|||
|---|---|---|---|
|
#18+
а если попробовать запустить это DELETE * FROM Table LIMIT 50 не из вашего клиента, чего скажет? что за БД кстати? mysql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 15:28 |
|
||
|
Из БД не удаляются строки
|
|||
|---|---|---|---|
|
#18+
winsky!а если попробовать запустить это DELETE * FROM Table LIMIT 50 не из вашего клиента, чего скажет? что за БД кстати? mysql? Да, это MySQL. Но в каком смысле не из моего клиента? Просто у меня нет опыта работы с БД через ADO.NET. Я пробовал откомпилировать прогу, бзз SELECT, сразу выполняя DELETE, но функция Update просит в качестве параметра DataSet, в котором должна уже быть таблица. И я считаю, что надо вызвать objDA.DeleteCommand.Parameters.Add(), но не знаю с какими параметрами. И, вообще, желательно не вызывать DELETE, а в DataSet пометить строки, которые должны быть удалены и вызвать Update. Но как это сделать? С С какими параметрами? HELP!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 18:06 |
|
||
|
Из БД не удаляются строки
|
|||
|---|---|---|---|
|
#18+
во-первых, зачем их помещать в датасет, если нежно из удалить? авторНо в каком смысле не из моего клиента? ну у мускла есть же какие-то утилиты для отладки запросов(надеюсь)? вот там и попробуйте запустить это свое DELETE * FROM Table LIMIT 50, что-то мне говорит, что это кривая команда, хотя я и не знаток mySQL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 18:17 |
|
||
|
Из БД не удаляются строки
|
|||
|---|---|---|---|
|
#18+
и еще авторВ таблице нет первичного ключа - как по мне, так таблица без пк - ваще не таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 18:18 |
|
||
|
Из БД не удаляются строки
|
|||
|---|---|---|---|
|
#18+
если нежно из удалить? читать как "если нужно их удалить" с пальцАми чего-то стало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 18:20 |
|
||
|
Из БД не удаляются строки
|
|||
|---|---|---|---|
|
#18+
winsky!во-первых, зачем их помещать в датасет, если нежно из удалить? авторНо в каком смысле не из моего клиента? ну у мускла есть же какие-то утилиты для отладки запросов(надеюсь)? вот там и попробуйте запустить это свое DELETE * FROM Table LIMIT 50, что-то мне говорит, что это кривая команда, хотя я и не знаток mySQL DELETE * FROM Table LIMIT 50 работает. ПРОВЕРЕНО!!! Таблицу без первичного ключа создавал не я, но работать мне надо именно с такой таблицей :( HELP!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 19:15 |
|
||
|
|

start [/forum/topic.php?fid=17&tid=1352765]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 475ms |

| 0 / 0 |
