Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
11-83426
_Avenger_
2002-08-22 19:49
2003.05.26
avl


14-83693
Belkova
2003-05-05 14:21
2003.05.26
Отчеты


1-83549
MAZA
2003-05-11 17:09
2003.05.26
TextFile


3-83409
DBDev
2003-05-06 18:55
2003.05.26
Коллеги, запрос в MSSQL работает, а в MS не хочет, помогите


3-83358
proc
2003-04-30 19:29
2003.05.26
RecNo i Filter





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