Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

Очистить БД через запрос SQL   Найти похожие ветки 

 
Василич ©   (2006-08-08 04:16) [0]

Салют!

Есть проблема - не могу очистить все значения БД (MS ACCESS) через запрос SQL...
пробовал делать так:

 DM1.ADOQuery1.SQL.Strings[0]:="Delete * from table1";

Delphi говорит, что объект не может выполнить требуемую операцию, но при повторном пуске БД девственно чиста...

поможите...


 
ORMADA ©   (2006-08-08 07:11) [1]

DML операторы следует выполнять не через ADOQuery1.Open
а через ADOQuery1.ExecSql

Description

Call ExecSQL to execute the SQL statement currently assigned to the SQL property. Use ExecSQL to execute queries that do not return a cursor to data (such as INSERT, UPDATE, DELETE, and CREATE TABLE).

ExecSQL returns an integer value reflecting the number of rows affected by the executed SQL statement.

Note: For SELECT statements, call Open instead of ExecSQL or set the Active property to true


 
TButton ©   (2006-08-08 08:33) [2]

я чистил через TRUNCATE TABLE `имя_таблицы`
правда это в MySQL)


 
MsGuns ©   (2006-08-08 09:16) [3]

DM1.ADOQuery1.SQL.Text:="Delete from table1";
DM1.ADOQuery1.ExecSQL;

table1 должна быть закрытой.


 
Василич ©   (2006-08-08 11:53) [4]

вот листинг процедуры:


procedure TForm1.N8Click(Sender: TObject);
begin
       DM1.Datasource1.Dataset:=DM1.ADOQuery1;
       DM1.ADOQuery1.Active:=False;
       DM1.ADOQuery1.SQL.Strings[0]:="Delete * from table1";
       DM1.ADOQuery1.Active:=True;
       Form1.DBGrid1.DataSource:=DM1.DataSource1;
end;


2ARMADA:
что такое DML операторы я не знаю...
все запросы в разрабатываемой программе работают и без ADOQuery1.ExecSql, а по вышепреведённому способу...

может быть это и ламо, но все SQL запросы работают, кроме этого...


 
stone ©   (2006-08-08 11:55) [5]


>  DM1.ADOQuery1.Active:=True;

Будет ругаться потому, что после выполнения команды не возвращается recordset.
PS. и звездочку из текста запроса убери


 
Плохиш ©   (2006-08-08 12:01) [6]


> Василич ©   (08.08.06 11:53) [4]
> может быть это и ламо, но все SQL запросы работают, кроме
> этого

Документацию/справку читать не пробовали, вместо того, чтобы обижаться на правильные рекомендации?


 
ORMADA ©   (2006-08-08 12:09) [7]

2 Василич
очень рекомендую тебе всё таки узнать что такое DML(в каждой книжке по скулю есть)
вот это перести не смог ?
Call ExecSQL to execute the SQL statement currently assigned to the SQL property. Use ExecSQL to execute queries that do not return a cursor to data (such as INSERT, UPDATE, DELETE, and CREATE TABLE).

Note: For SELECT statements, call Open instead of ExecSQL or set the Active property to true

если после прочтения этого ты ещё не понял почему у тебя вся прога работает через Open а этот скуль нет
без обид кипу хорошую книжку по скулю
и по дельфи тож
рекомендоую по дельфм Маркко Кэнту(знающие люди подтвердят)
потрать сейчас немного денег и времени на изучение вышеописанного чтобы потом быстрее всё раврабатывать и избежать многих ошибок
удачи :)


 
Василич ©   (2006-08-09 05:36) [8]

разобрался я с DML (lol!), также разобрался с методом open и ExecSQl, благо книги всё таки есть под рукой...

большой респект MsGuns и ARMADA за столь содержательный ответ!!!

2Плохиш: а обижаться тут можно только на меня, за такие пионерские вопросы =8)))


 
ORMADA ©   (2006-08-09 07:42) [9]

блин!
Василич!
не путай тут!
ARMADA<>ORMADA!


 
Василич ©   (2006-08-09 07:59) [10]

тьфу!
сорри!
канешна ORMADA!
блин как будто вчера школу закончил...



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.084 c
2-1155037543
1519
2006-08-08 15:45
2006.08.27
SQL


1-1152823459
01
2006-07-14 00:44
2006.08.27
PopupMenu сейчас на экране или убралось


15-1154384228
Razor
2006-08-01 02:17
2006.08.27
Изучение java


2-1154665343
MSVN
2006-08-04 08:22
2006.08.27
TrackBar и время


4-1146806660
__DATA__
2006-05-05 09:24
2006.08.27
Сообщение, отвечающее за изменение списка открытых окон в системе





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский