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

Вниз

База данных на FoxPro   Найти похожие ветки 

 
TAN_K   (2006-02-17 15:19) [0]

Господа , есть база на FoxPro , в таблице необходимо удалить запись , параметры которой предварительно выбрала из базы созданной в Expert (Baza.gdb) . Вопрос - где и что неправильно делаю ,
Query3.Close;
 Query3.SQL.Clear;
 Query3.SQL.Add("Select * from F_LKART.DBF where (STRAXN =  :P0)");
 Query3.SQL.Add("and (FAM = :P1) and (IM = :P2) and (OT = :P3)");
 Query3.Params[0].AsString := IBQuery1["STRAXN"];
 Query3.Params[1].AsString := IBQuery1["FAM"];
 Query3.Params[2].AsString := IBQuery1["IM"];
 Query3.Params[3].AsString := IBQuery1["OT"];
 Query3.ExecSQL;
 Query3.Close;
 Query3.Open;
Query3.Edit;
UpdateSQL1.SetParams(ukDelete);
UpdateSQL1.ExecSQL(ukDelete);
// UpdateSQL1.Apply(ukDelete);
На операторе UpdateSQL1.ExecSQL(ukDelete) дает ошибку - Update failed .

Всем спасибо .


 
Sergey13 ©   (2006-02-17 15:24) [1]

Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add("Delete from F_LKART.DBF where (STRAXN =  :P0)");
Query3.SQL.Add("and (FAM = :P1) and (IM = :P2) and (OT = :P3)");
Query3.Params[0].AsString := IBQuery1["STRAXN"];
Query3.Params[1].AsString := IBQuery1["FAM"];
Query3.Params[2].AsString := IBQuery1["IM"];
Query3.Params[3].AsString := IBQuery1["OT"];
Query3.ExecSQL;


 
TAN_K   (2006-02-17 15:42) [2]

Не удаляет !
Я так уже пробовала , и после вашего совета - эффект тот же , не хватает какай-то мелочи .


 
Johnmen ©   (2006-02-17 15:45) [3]

Это гремучая мешанина из двух способов удаления, из набора данных и с помощью прямого запроса, естественно работать не может.
Следовательно, надо разобраться с каждым вариантом отдельно...


 
Sergey13 ©   (2006-02-17 15:49) [4]

2[2] TAN_K   (17.02.06 15:42)
>Не удаляет !
Возможно просто не находит запись, потому что регистр буковок разный. И зачем ФИО вообще в параметрах? Страхового номера, ИМХО, вполне достаточно, он же должен быть уникальным.
(если я правильно телепатироал названия полей 8-)


 
TAN_K   (2006-02-17 17:25) [5]

Регистр одинаковый , ФИО необходимо , т.к. страх № может не быть (такие ситуации бывают) .
Решила провести эксперимент на удаление - сделала такой запрос :
Query3.Close;
Query3.SQL.Clear;
Query3.SQL.Add("Delete from F_LKART.DBF);  
Query3.ExecSQL;

выдает сообщение - Cursor ....

все записи в таблице FoxPro - F_LKART.DBF оказались помеченными на удаление , таблицу необходимо сжать , в FoxPro есть оператор Pack , есть ли что-то подобное в Delphi .


 
Sergey13 ©   (2006-02-20 09:19) [6]

2[5] TAN_K   (17.02.06 17:25)
>Регистр одинаковый , ФИО необходимо , т.к. страх № может не быть (такие ситуации бывают) .
Есть еще такое понятие в БД как ключ. Бывают ключи первичные, альтернатвные, внешние. Тебе наверное надо почитать про это.


 
КаПиБаРа ©   (2006-02-20 09:32) [7]

TAN_K   (17.02.06 17:25) [5]
Для начала нужно отладить запрос на удаление. Для этого к запросу приведенному в [0], тот который с селект подключи DBGrid. Вместо удаления, строки будут отображаться и можно будет проверить правильность работы выборки.
После отладки Select заменяется на Delete


 
Desdechado ©   (2006-02-20 10:08) [8]

Query3.ExecSQL;
Query3.Close;
Query3.Open;

кажется несколько странным, что без изменения текста запроса делается сначала ExecSQL, а затем Open



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

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

Наверх




Память: 0.46 MB
Время: 0.013 c
2-1139838199
Gizza
2006-02-13 16:43
2006.03.05
Запуск файлов без winexec и ShellExecute...


4-1134287815
Дмитрий_05
2005-12-11 10:56
2006.03.05
RasAPI получить список номеров dial-up соединения


15-1139571443
Cerberus
2006-02-10 14:37
2006.03.05
DVD в .Avi


1-1138789069
FreeAdvisor
2006-02-01 13:17
2006.03.05
Заголовок сообщения на языке по умолчанию ОСи


15-1139481995
Gero
2006-02-09 13:46
2006.03.05
Лебедев открыл интернет-магазин





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский