Написал процедуры к кнопке чтобы при нажатии данные заносились в БД...они заносятся но криво. вылетает ошибка при нажатии кнопки" HelpQuery1:CommandText does not return a result set. ". И после ошибки в гриде не прибавилось строк(). но когда заного ф9 тыкаешь - то в гриде видно что в конце нужная строка появаилась(т.е. только после перезапуска). В самом коде ошибок - нет. Ошибка вылезает когда я запускаю прогу и и нажимаю кнопку. не нашёл решения проблемы... часто пишут смени Open на ExecSQL.... а у меня и так ExecSQL. Способа доступа TADO компоненты Delphi xe3 mssql server management studio 2008
Код | unit Unit1;
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.Grids, Vcl.DBGrids, Vcl.ComCtrls, Data.DB, Data.Win.ADODB, Unit2, Vcl.StdCtrls;
type TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; DBGrid1: TDBGrid; DBGrid2: TDBGrid; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit4: TEdit; Label4: TLabel; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); Var data, time, TN, TK:string; begin data:=quotedstr(unit1.Form1.Edit1.Text); time:=quotedstr(unit1.Form1.Edit2.Text); TN:=quotedstr(unit1.Form1.Edit3.Text); TK:=quotedstr(unit1.Form1.Edit4.Text);
With unit2.Form2.HelpQuery1 do Begin close; SQL.Clear; SQL.Add('exec new_zapis '+data+' ,'+time+' ,'+TN+' ,'+TK); ExecSQL; Unit2.Form2.HelpQuery1.Active:=false; Unit2.Form2.HelpQuery1.Active:=true; End; end;
procedure TForm1.Button2Click(Sender: TObject); var id:string; begin
end;
end.
|
Код | unit Unit2;
interface
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Data.Win.ADODB;
type TForm2 = class(TForm) ADOConnection1: TADOConnection; DataSource1: TDataSource; ADOQuery1: TADOQuery; HelpQuery1: TADOQuery; private { Private declarations } public { Public declarations } end;
var Form2: TForm2;
implementation
{$R *.dfm}
end.
|
процедуры которые я прописал в мсскюль
Код | Use [LIB] go Create procedure new_zapis(@Дата nvarchar(50), @Время nvarchar(50),@ТН nvarchar(50),@ТК nvarchar(50)) as begin insert into zapis values((select ISNULL(MAX(id)+1,1) from zapis), @Дата, @Время, @ТН,@ТК) end Create procedure delete_zapis(@id int) as begin Delete from zapis where zapis.id=@id end
|
|