Форум: "Потрепаться";
Текущий архив: 2003.05.26;
Скачать: [xml.tar.bz2];
ВнизПри попытке Внесений изменений в БД ругается?? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c