Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.05.2015, 04:56
Staziah2 Staziah2 вне форума
Прохожий
 
Регистрация: 20.03.2015
Адрес: Приморский край
Сообщения: 12
Версия Delphi: Delphi 7 и БД
Репутация: 10
По умолчанию Не удается обновить БД

Добрый день! Который день ломаю голову,но так и ничего понять не могу. Все время ругается при введении данных,но не обновляется почему.
Вот код:
Код:
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
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter