Главная страница
    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.01 c
6-1132578236
p_evghenii
2005-11-21 16:03
2006.03.05
Как программно отключить/включить сеть?


2-1140275349
Чародей
2006-02-18 18:09
2006.03.05
DynArray in procedure


10-1114175801
Mx
2005-04-22 17:16
2006.03.05
Как получить объект по интерфейсу?


11-1120848891
Barsuk
2005-07-08 22:54
2006.03.05
убегает HeapMM


2-1140252679
Urvin
2006-02-18 11:51
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский