Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Внизp1:tparam-->p1.free Найти похожие ветки
← →
denis24 (2004-06-21 15:19) [0]Есть параметрический запрос.Я создаю параметры ,называю их даю значения ,подставляю в запрос все ок.Но как только p1.free
вылазит Acces violation.......
query2.Params.Clear;
P1 := TParam.Create(Query2.Params, ptInput);
Query2.Params[0].Name := "card_no";
Query2.ParamByname("card_no").Asfloat:=12......
← →
Sandman25 © (2004-06-21 15:22) [1]Я не вижу в коде
p1.free
← →
denis24 (2004-06-21 17:39) [2]query2.Params.Clear;
P1 := TParam.Create(Query2.Params, ptInput);
Query2.Params[0].Name := "card_no";
Query2.ParamByname("card_no").Asfloat:=12......
p1.free;
query2.close
← →
bushmen © (2004-06-21 17:53) [3]А сам запрос где?
← →
denis24 (2004-06-21 18:13) [4]var
p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13:TParam;
filename:string;
begin
if ListSelect.Count=0 then exit;
begin
filename:=FormatDateTime("hhnnss",time)+".dbf";
with DataModule5 do
begin
Query2.close;
Query2.sql.Clear;
query2.DatabaseName :=ExtractFilePath(Application.ExeName)+"out\";
Query2.sql.Add ("create table ""+filename+""");
Query2.sql.add("(card_no Numeric (16,0),""+filename+""."sum" numeric(16,2))");
Query2.execsql;
Query2.Close;
DBGrid1.DataSource.DataSet.First ;
Query2.sql.Clear;
query2.Params.Clear;
P1 := TParam.Create(Query2.Params, ptInput);
P2 := TParam.Create(Query2.Params, ptInput);
Query2.Params[0].Name := "card_no";
Query2.Params[1].Name := "sum";
Query2.sql.Add("insert into ""+filename +"" ");
Query2.sql.add("(card_no,""+filename+""."sum")");
Query2.sql.add(" values (:card_no,:sum)");
query1.DatabaseName :=ExtractFilePath(Application.ExeName)+"data\";
query1.Close ;
query1.SQL.Clear;
query1.sqL.Add("INSERT INTO data.dbf");
query1.sql.add(" (result,egf_cpnc,bsc_shf,bpl_a_acc,bpl_b_acc,bpl_sum,bpl_dat_od,bpl_osnd,ost_26XX,bin,bpl_tim_p)");
query1.SQL.Add(" VALUES (:result,:egf_cpnc,:bsc_shf,:bpl_a_acc,:bpl_b_acc,:bpl_sum,:bpl_dat_od,:bpl_osnd,:ost_26XX,:bin,:bpl_tim_p)");
query1.Params.Clear;
P3 := TParam.Create(query1.Params, ptInput);
P4 := TParam.Create(query1.Params, ptInput);
P5 := TParam.Create(query1.Params, ptInput);
P6 := TParam.Create(query1.Params, ptInput);
P7 := TParam.Create(query1.Params, ptInput);
P8 := TParam.Create(query1.Params, ptInput);
P9 := TParam.Create(query1.Params, ptInput);
P10:= TParam.Create(query1.Params, ptInput);
P11 := TParam.Create(query1.Params, ptInput);
P12 := TParam.Create(query1.Params, ptInput);
P13 := TParam.Create(query1.Params, ptInput);
query1.Params[0].Name := "result";
query1.Params[1].Name := "egf_cpnc";
query1.Params[2].Name := "bsc_shf";
query1.Params[3].Name := "bpl_a_acc";
query1.Params[4].Name := "bpl_b_acc";
query1.Params[5].Name := "bpl_sum";
query1.Params[6].Name := "bpl_dat_od";
query1.Params[7].Name := "bpl_osnd";
query1.Params[8].Name := "ost_26XX";
query1.Params[9].Name := "bin";
query1.Params[10].Name := "bpl_tim_p";
while DBGrid1.DataSource.DataSet.Eof=false do
begin
IF ListSelect.IndexOf(Pointer(DBGrid1.DataSource.
DataSet.FieldByName("number").Asinteger)) >= 0 then
begin
Query2.unprepare;
Query2.ParamByname("card_no").Asfloat:=DBGrid1.DataSource.DataSet.FieldByName("bin").AsVariant;
Query2.ParamByname("sum").Asfloat:=DBGrid1.DataSource.DataSet.FieldByName("result").AsFloat;
Query2.prepare;
Query2.execsql;
query1.unprepare;
query1.ParamByname("result").Asfloat:=DBGrid1.DataSource.DataSet.FieldByName("result").asfloat;
query1.ParamByname("egf_cpnc").Asstring:=DBGrid1.DataSource.DataSet.FieldByName("egf_cpnc").asstring;
query1.ParamByname("bsc_shf").asstring:=DBGrid1.DataSource.DataSet.FieldByName("bsc_shf").asstring;
query1.ParamByname("bpl_a_acc").Asstring:=DBGrid1.DataSource.DataSet.FieldByName("bpl_a_acc").Asstring;
query1.ParamByname("bpl_b_acc").Asstring:=DBGrid1.DataSource.DataSet.FieldByName("bpl_b_acc").Asstring;
query1.ParamByname("bpl_sum").Asfloat:=DBGrid1.DataSource.DataSet.FieldByName("bpl_sum").Asfloat;
query1.ParamByname("bpl_dat_od").Asdatetime :=DBGrid1.DataSource.DataSet.FieldByName("bpl_dat_od").Asdatetime;
query1.ParamByname("bpl_osnd").Asstring :=DBGrid1.DataSource.DataSet.FieldByName("bpl_osnd").Asstring;
query1.ParamByname("ost_26XX").Asfloat :=DBGrid1.DataSource.DataSet.FieldByName("ost_26XX").Asfloat;
query1.ParamByname("bin").Asstring:=DBGrid1.DataSource.DataSet.FieldByName("bin").Asstring;
query1.ParamByname("bpl_tim_p").Asstring:=DBGrid1.DataSource.DataSet.FieldByName("bpl_tim_p").Asstring;
query1.prepare;
query1.ExecSQL;
end;
DBGrid1.DataSource.DataSet.Next;
p1.Free;p2.Free;p3.Free;p4.Free;p5.Free;p6.Free;p7.Free;p8.Free;
p9.Free;p10.Free;p11.Free;p12.Free;p13.Free;
with Session do
for I := 0 to DatabaseCount -1 do
Databases[I].CloseDataSets ;
end;end;end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c