Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.117.165.66] |
|
Сообщ.
#1
,
|
|
|
Добрый день! Который день ломаю голову,но так и ничего понять не могу. Все время ругается при введении данных,но не обновляется почему.
Вот код: unit Vvod; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DB, Grids, DBGrids, wwdblook, ExtCtrls, ComCtrls, Wwdbigrd, Wwdbgrid, wwdbdatetimepicker, Mask, wwdbedit, Wwdotdot, Wwdbcomb, Wwkeycb, DBCtrls, ComObj, ShellApi; type TForm2 = class(TForm) Button1: TButton; OpenDialog1: TOpenDialog; Label7: TLabel; tipi: TwwDBLookupCombo; Label1: TLabel; cex: TwwDBLookupCombo; Label9: TLabel; data: TwwDBDateTimePicker; Label10: TLabel; Label11: TLabel; Edit2: TEdit; Label12: TLabel; wwDBComboDlg1: TwwDBComboDlg; Button4: TButton; Button5: TButton; wwDBGrid2: TwwDBGrid; wwDBLookupCombo1: TwwDBLookupCombo; Button6: TButton; Button7: TButton; Button8: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure wwDBComboDlg1Enter(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure Button8Click(Sender: TObject); procedure tipiChange(Sender: TObject); procedure dataChange(Sender: TObject); procedure Edit2Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation uses fr,xr,Unit5,Unit6,FmxUtils; {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); var Path1, Path2 , Path3: String; begin Path1 := Form2.wwDBComboDlg1.Text; Path2 := '\\Fs\наряды;\'+cex.Text+'\'+data.Text+'\'+cex.Text+'_'+wwDBLookupCombo1.Text+'_'+Edit2.Text+'.tif'; Path3 := '\\Fs\наряды;\'+cex.Text+'\'+data.Text; if FileExists(Path3)=false then begin if ForceDirectories(Path3) then CopyFile(Path1,Path2); end; if varisnull(dm.ceh.Lookup('ceh',cex.Text,'ceh'))=true then begin dm.Query.SQL.Clear; dm.Query.SQL.Text:= 'Insert into ceh (ceh) Values ('''+cex.Text+''')'; dm.Query.ExecSQL; dm.ceh.Requery(); end ; if varisnull(dm.zakaz.Lookup('N_zakaz',wwDBLookupCombo1.Text,'N_zakaz'))=true then begin dm.Query.SQL.Clear; dm.Query.SQL.Text:= 'Insert into N_zakaza (N_zakaz) Values ('''+wwDBLookupCombo1.Text+''')'; dm.Query.ExecSQL; dm.zakaz.Requery(); end ; dm.Query.SQL.Clear; dm.Query.SQL.Text:= 'Insert into naryadi (ceh,data,N_zakaz,N_naryad,Tip_dok,path ) Values ('''+cex.Text+''','''+data.Text+''','''+wwDBLookupCombo1.Text+''','''+Edit2.Text+''','''+tipi.Text+''','''+Path2+''')'; dm.Query.ExecSQL; dm.Main.SQL.Clear; dm.Main.SQL.Text:= 'select * from [naryadi]'; dm.Main.Open; refresh; dm.Main.Last; end; procedure TForm2.Button2Click(Sender: TObject); begin if MessageDlg('Вы точно хотите удалить запись?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then dm.Main.Delete; end; procedure TForm2.wwDBComboDlg1Enter(Sender: TObject); begin if OpenDialog1.Execute then begin if not (dm.Main.State in [dsInsert,dsEdit]) then //dm.Main.Edit; Form2.wwDBComboDlg1.Text:= OpenDialog1.FileName; // dm.Main.Post; end; end; procedure TForm2.Button3Click(Sender: TObject); begin Application.CreateForm(TForm5, Form5); Form5.ShowModal; end; procedure TForm2.Button6Click(Sender: TObject); begin Application.CreateForm(TForm6, Form6); Form6.ShowModal; end; procedure TForm2.Button7Click(Sender: TObject); var Path1, Path2 , Path3: String; begin Path1 := Form2.wwDBComboDlg1.Text; Path2 := '\\Fs\наряды\'+cex.Text+'\'+data.Text+'\'+cex.Text+'_'+wwDBLookupCombo1.Text+'_'+Edit2.Text+'.tif'; Path3 := '\\Fs\наряды\'+cex.Text+'\'+data.Text; if FileExists(Path3)=false then begin if ForceDirectories(Path3) then CopyFile(Path1,Path2); end; end; procedure TForm2.Button8Click(Sender: TObject); begin ShellExecute(Handle,nil,PChar(dm.Mainpath.AsString) ,nil,nil,SW_RESTORE); end; procedure TForm2.tipiChange(Sender: TObject); begin cex.Text:= ''; end; procedure TForm2.dataChange(Sender: TObject); begin Edit2.Text := ''; end; procedure TForm2.Edit2Change(Sender: TObject); begin wwDBComboDlg1.Text := ''; end; end. Вот ошибка: Violation of Primary Key constraint 'PK_N_zakaza'. Cannot insert dublicate key in object 'N_zakaza'. Что не так я сделала? БД: MSSQL; Delphi 7 |
Сообщ.
#2
,
|
|
|
Ты пытаешься записать первичный ключ со значением, которое в таблице уже есть.
|