Главная страница
    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.011 c
15-1139656603
Steep
2006-02-11 14:16
2006.03.05
Компоненты


1-1138610190
Альф
2006-01-30 11:36
2006.03.05
Заполнение свойств класса из XML


2-1138816063
Дмитрий_177
2006-02-01 20:47
2006.03.05
Компоненты на api (или еще как-нибудь)


2-1140297348
Alex_C
2006-02-19 00:15
2006.03.05
Перехват нажатия клавиш


1-1138640470
Igor23
2006-01-30 20:01
2006.03.05
Работа с COM объектами!!! Закладка DataSnap.....





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