UpdateSQL->InsertSQL->Clear();
UpdateSQL->InsertSQL->Add("insert into Book (Type, Name, Autor) values('Детектив', 'Колобок', 'Народ')");
UpdateSQL->Apply(ukInsert);
BookT->Refresh();
// И так 11 блоков...
Работа с SQL запросами в Builder. Где ошибка?
База: MS SQL Server 2005, к которой в ODBC прописан алиас.
Задача: продемонстрировать программное добавление и удаление записей из базы с помощью SQL запросов.
В базе 11 таблиц, некоторые имеют триггер на каскадное удаление связанных таблиц.
(Если всё делать через прямые запросы в SQL Server Studio, то всё работает без ошибок)
----------------------------------------------------------------------------
Добавил на форму 11 связок TTable<-TDataSource<-TDBGrid и одну связку TQuery<-TUpdateSQL. Ляпанул 2 кнопки: "Добавить данные", "Очистить данные".
Добавление записей происходит без проблем. Вот таким макаром:
Код:
А вот удаление происходит не стабильно. Причём программа вываливается на удалении не из определённой таблицы а как получится. Делаю вот так:
Код:
if ( BookT->RecordCount )
{
UpdateSQL->DeleteSQL->Clear();
UpdateSQL->DeleteSQL->Add("delete from Book");
UpdateSQL->Apply(ukDelete);
}
// И так 11 блоков...
{
UpdateSQL->DeleteSQL->Clear();
UpdateSQL->DeleteSQL->Add("delete from Book");
UpdateSQL->Apply(ukDelete);
}
// И так 11 блоков...
Может я не правильно пользую TUpdateSQL?
Внимание, вопрос: Как правильно удалять записи в базе с помощью SQL запроса из Builder'а? :confused:
delete from список_таблиц where условие
кароч у тя условия не хватает!
Цитата: iRain
Формат комнды Delete внимательно изучать надо!
delete from список_таблиц where условие
кароч у тя условия не хватает!
delete from список_таблиц where условие
кароч у тя условия не хватает!
если условия не стоит, то удалит все записи
Цитата: iRain
Формат комнды Delete внимательно изучать надо!
delete from список_таблиц where условие
кароч у тя условия не хватает!
delete from список_таблиц where условие
кароч у тя условия не хватает!
Мне нужно удалить все записи в таблице
Какую ошибкк выбивает?
Принцип такой:
Добавляю в каждую из 11 таблиц по 1 записи. Потом пытаюсь удалить записи по порядку из каждой таблицы. Бывает, что ошибка вылетает на удалении из 2-й таблицы, а бывает, например, что из 4-й или 7-й. Как будто память мусорится.
Цитата: ROLpogo
Что-то связанное с TUpdateSQL. Дословно смогу сказать только вечером.
Принцип такой:
Добавляю в каждую из 11 таблиц по 1 записи. Потом пытаюсь удалить записи по порядку из каждой таблицы. Бывает, что ошибка вылетает на удалении из 2-й таблицы, а бывает, например, что из 4-й или 7-й. Как будто память мусорится.
Принцип такой:
Добавляю в каждую из 11 таблиц по 1 записи. Потом пытаюсь удалить записи по порядку из каждой таблицы. Бывает, что ошибка вылетает на удалении из 2-й таблицы, а бывает, например, что из 4-й или 7-й. Как будто память мусорится.
выведи удаление в функцию
можешь попробовать TQuery
она тоже удаляет :)
function deleteAll()
{
UpdateSQL->Close();
UpdateSQL->SQL->Clear();
UpdateSQL->SQL->Add("delete from Table");
UpdateSQL->ExecSQL();
}
а что все таблицы видно в интерфейсе ?
делай
BookT->Refresh();
только для тех что видно - быстрее будет.
Всем спасибо!