Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

При попытке Внесений изменений в БД ругается??   Найти похожие ветки 

 
Darkin   (2003-05-06 01:58) [0]

Всем привет))
procedure insert_zap_prepare ;
begin
with FrmVvdan do begin
with DMChasD do begin

QRYDogZap.Close;
QRYDogZap.SQl.Clear;
strSQL:="INSERT INTO";
QRYDogZap.SQL.Add(strSQL);
strSQL:=" chasDog (n_dog,n_lic,fam,imja,otch,nas_punkt,ulica,dom," ;
if MEdKv.Text<>"" then strSQL:=strSQL+"kvar,";
QRYDogZap.SQL.Add(strSQL);
strSQL:=" naz_dok, ser_dok, vid_dok, jilci, voda, sbros, doppol,";
QRYDogZap.SQL.Add(strSQL);
strSQL:=" lgoti, jilorg, kod_usl ";
QRYDogZap.SQL.Add(strSQL);
// могут отсутствовать
if MEdDatZak.Text<>"" then strSQL:=", datzakl" else strSQL:="";
if MEdTelef.Text<>"" then strSQL:=strSQL+", telefon";
if MEdNDokum.Text<>"" then strSQL:=strSQL+", n_dok";
if MEdDatVidDok.Text<>"" then strSQL:=strSQL+", vid_dat";
strSQL:=strSql+")";
QRYDogZap.SQL.Add(strSQL);
QRYDogZap.SQL.Add("VALUES (");
strSQL:=":in_ndog,:in_nlic,:in_fam,:in_imja,:in_otch,"+
":in_punkt,:in_ulica,:in_dom";
if MEdKv.Text<>"" then strSQL:=strSQL+",:in_kvar";
QRYDogZap.SQL.Add(strSQL);
strSQL:=",:in_nazdok,:in_serdok,:in_viddok,:in_jilci,"+
":in_voda,:in_sbros,:in_doppol";
QRYDogZap.SQL.Add(strSQL);
strSQL:=",:in_lgoti,:in_jilorg,:in_kodusl";
if MEdDatZak.Text<>"" then strSQL:=strSQL+", :in_datzakl";
if MEdTelef.Text<>"" then strSQL:=strSQL+", :in_telefon";
if MEdNDokum.Text<>"" then strSQL:=strSQL+", :in_ndok";
if MEdDatVidDok.Text<>"" then strSQL:=strSQL+", :in_viddat";
strSQL:=strSql+")";
QRYDogZap.SQL.Add(strSQL);
QRYDogZap.Prepare;
QRYDogZap.ParamByName("in_ndog").AsInteger:=StrToInt(Trim(MEdNDog.Text));
QRYDogZap.ParamByName("in_nlic").AsInteger:=StrToInt(Trim(MEdNLic.Text));
QRYDogZap.ParamByName("in_fam").AsString:=EdFam.Text;
QRYDogZap.ParamByName("in_imja").AsString:=EdImja.Text;
QRYDogZap.ParamByName("in_otch").AsString:=EdOtch.Text;
QRYDogZap.ParamByName("in_punkt").AsInteger:=kodPunkt;
QRYDogZap.ParamByName("in_ulica").AsInteger:=kodUlic;
QRYDogZap.ParamByName("in_dom").AsInteger:=kodDom;
if Trim(MEdKv.Text)<>"" then
QRYDogZap.ParamByName("in_kvar").AsInteger:=StrToInt(Trim(MEdKv.Text))
{ else QRYDogZap.ParamByName("in_kvar").AsInteger:=0 };
QRYDogZap.ParamByName("in_nazdok").AsInteger:=kodImDok;
QRYDogZap.ParamByName("in_serdok").AsString:=EdSerDok.Text;
QRYDogZap.ParamByName("in_viddok").AsString:=EdVidDok.Text;
QRYDogZap.ParamByName("in_jilci").AsInteger:=StrToInt(Trim(MEdKolJil.Text));
if ChBoxVoda.Checked then
QRYDogZap.ParamByName("in_voda").AsString:="Е"
else QRYDogZap.ParamByName("in_voda").AsString:="Н";
if ChBoxSbros.Checked then
QRYDogZap.ParamByName("in_sbros").AsString:="Е"
else QRYDogZap.ParamByName("in_sbros").AsString:="Н";
if ChBoxDop.Checked then
QRYDogZap.ParamByName("in_doppol").AsString:="*"
else QRYDogZap.ParamByName("in_doppol").AsString:=" ";
if ChBoxLgot.Checked then
QRYDogZap.ParamByName("in_lgoti").AsString:="Е"
else QRYDogZap.ParamByName("in_lgoti").AsString:="Н";
QRYDogZap.ParamByName("in_JilOrg").AsInteger:=kodMUMR;
QRYDogZap.ParamByName("in_kodusl").AsInteger:=kodUsl;
if MEdTelef.Text<>"" then
QRYDogZap.ParamByName("in_telefon").AsInteger:=
StrToInt(Trim(MEdTelef.Text));
if Trim(MEdDatZak.Text)<>"" then
QRYDogZap.ParamByName("in_datzakl").AsDateTime:=
StrToDate(MEdDatZak.Text) { else
QRYDogZap.ParamByName("in_datzakl").AsDateTime:=StrToDate("01.01.1959")};
if MEdDatVidDok.Text<>"" then
QRYDogZap.ParamByName("in_viddat").AsString:=EdVidDok.Text;
if MEdNDokum.Text<>"" then
QRYDogZap.ParamByName("in_ndok").AsString:=MEdNDokum.Text;

try

QRYDogZap.ExecSQL;
finally
QRYDogZap.UnPrepare;
end;
end;
end;
end;


Не знаю в чём дело? На строке "QRYDogZap.ExecSQL;" пишет мне key violation. Сам не программер - разобраться сложно. Спасибо заранее.


 
Palladin ©   (2003-05-06 07:28) [1]

имхо, а какого тогда...
во первых, абсолютно бесполезный и нагроможденный cut...
во вторых

> Сам не программер

не знаю кто рискнет (даже если у него хватит терпения досмотреть код) после такого заявления тебе что то объяснить...


 
evvcom ©   (2003-05-06 08:28) [2]

Н-дааа...
Могу предложить попробовать формирование SQL-запроса вывести куда-нибудь в файл или TMemo, чтобы убедиться, что получается "правильный" запрос. Но заявление
> Сам не программер
действительно убивает всякое желание что-либо объяснять или даже советовать.


 
Zacho ©   (2003-05-06 08:46) [3]

Да вообще-то здесь по сообщению об ошибке понятно, что происходит банальное нарушение первичного ключа. А код я смотреть даже не стал :-)


 
Palladin ©   (2003-05-06 09:35) [4]


> Zacho © (06.05.03 08:46)

все таки рискнул :)
ну теперь тебя будут мучить


 
Zacho ©   (2003-05-06 09:49) [5]


> Palladin © (06.05.03 09:35)
> ну теперь тебя будут мучить

За что ???!!! Я хороший :)
Дяденьки, не бейте :-)

А серьезно :) что-то у меня есть предчувствие, что автор исходного поста куда-то потерялся ;)


 
Romkin ©   (2003-05-06 10:10) [6]

Такой код и такую базу выкинуть и забыть как страшный сон.
Удивительно, что еще первичные ключи есть.
А ошибка действительно расшифровывается как "Запись с таким значением первичного ключа уже есть" и к коду отношения не имеет - правильно вводите данные


 
Zacho ©   (2003-05-06 10:12) [7]

Хочу сказать пару слов в защиту Darkin.
Не смотря на то, что он "Сам не программер" , он по крайней мере привел в вопросе код и сообщение об ошибке. А многие так назывемые "программеры" даже до этого не додумываются, а потом возмущаются, что им "неправильно" отвечают на вопросы типа "У меня не работает программа. В чем ошибка ?"


 
Palladin ©   (2003-05-06 10:59) [8]

ну да... это похвально... но совсем на чуть чуть...



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

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
4-83800
Ик сик
2003-03-28 13:47
2003.05.26
Можно ли получить handle объекта по координатам


11-83434
VaaL
2002-08-20 11:47
2003.05.26
Не компилится...


14-83675
pasha_golub
2003-05-05 20:29
2003.05.26
Встреча Мастаков в Москве


6-83631
P4
2003-03-27 08:34
2003.05.26
MB


1-83564
Evyshka
2003-05-14 09:00
2003.05.26
Как связать с программой файл помощи