Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Вниз

Удаление из таблицы, опять 


Demon ltd   (2002-03-11 22:39) [0]

Когда-то я задавал вопрос:
Для удаления записи из парадоксовской таблицы мне
посоветовали использовать в строчке
form1.Query1.SQL.Add("delete from "clients"");
form1.Query1.SQL.add("where (tabnomer="1234")");
строчку Query1.ExecSQL;
Но проблема в том, что куда вставить эту строчку.
Вместо SQL.Add или ещё куда-нибудь. Если вместо, то выдаётся
ошибка, но в чём проблема.
Подскажите.
Мне подсказали поместить эту строчку Query1.ExecSQL после
form1.Query1.SQL.add("where (tabnomer="1234")");
но всё равно выдаётся та жа ощибка.



Фэ   (2002-03-11 23:14) [1]

С помощью последовательных
SQL.Clear;
SQJ.Add("...");
..
Или сразу
SQL.Clear;
SQL.Text := "..";
Вы формируете текст SQL-запроса.
После чего методом
qu.ExecSQL;
его выполняете;
Но за не наличие алиаса, не подключения к базе, некорректности текста запроса за Вас никто отвечать не будет.



Malder   (2002-03-11 23:14) [2]

Млять. Тупость какая то... или я не понял чего-то...
Ты по ходу не знаешь ObjectPascal раз задаешь такие вопросы.

1) Не знаю будет работать ли пример твой, но лучше так:

form1.query1.add("DELETE from Clients where tabnomer="1234""); {не надо имя таблицы Clients в кавычки заносить}
form1.query1.execSQL; {при вызове этого метода будет выполняться SQL запрос}

2) Вообще, для локальных баз (типа Парадокса не используют обычно SQL. Если тебе нужно удалить текущую запись, то:

query1.delete;

Собственно говоря, и компонент query не надо использовать, можно обойтись Table.



Фэ   (2002-03-11 23:27) [3]

В некоторых базах и случаях (таблица как файл с расширением) допускается заключение имени таблицы в кавычки



sniknik   (2002-03-11 23:42) [4]

Не только допускается но в некоторых случаях без этого не обойдешся. К примеру попробуй составить запрос с упоминанием поля с именем Date. А с кавычками вокруг базы и поля можно.



Фэ   (2002-03-11 23:49) [5]

Это признак дурного тона - использование ключевых слов SQL в полях, но согласен - такой прием прокатывает.



sniknik   (2002-03-11 23:56) [6]

Про дурной тон можеш не расказывать сам знаю. Но мне чаше приходится работать с чужими (и устаревшими) базами а раньше похоже это было правилом хорошего тона. Пример кассовая программа Супермаг Укм - ни одной таблици без подобного поля! (чуть преувеличил;)



Anatoly Podgoretsky   (2002-03-12 00:00) [7]

Фэ © (11.03.02 23:49)
Да но Парадокс это не SQL сервер, поэтому это правило не применимо к нему.



Фэ   (2002-03-12 00:37) [8]

Дело-то в парсере SQL а не сервере.
Но точно насчет Pdx уже не скажу, не помню.
В DBISAM все катается (тоже файл-сервер)




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.043 c
1-9576            Master-of-MAX         2002-03-22 16:34  2002.04.04  
Помогите ламаку сделать круговой прогрес-бар!


3-9429            Skyter                2002-03-07 13:46  2002.04.04  
HELP!!! Помогите. Есть база данных При выполнении запроса выдается ошибка см. msg


1-9452            Андрей Сенченко       2002-03-25 13:13  2002.04.04  
StringGrid ... достал уже если честно своей простотой..


1-9562            Man-In-Red            2002-03-23 18:20  2002.04.04  
Как из любого файла (директория и имя его находятся в Edit`e1), вытащить его значок и поместить в Image1?


4-9674            Ewgenij               2002-02-04 23:26  2002.04.04  
CreateDesktop