tik_tak
یک شنبه 07 مهر 1387, 08:46 صبح
سلام
من با این کد اینزرت میکنم :
procedure TForm1.Save;
var
stream:tstream;
begin
with ADOQuery1 do
begin
sql.Text:='select * from picsample';
Open;
end;
stream:=ADOQuery1.CreateBlobStream(ADOQuery1.Field ByName('pic'),bmRead);
image1.Picture.Graphic.SaveToStream(stream);
With ADOQuery1 do
begin
SQL.Text:='insert into picsample (name,family,pic) VALUES (:p0,:p1,:p2)';
Parameters.ParamByName('p0').Value:=edit1.Text;
Parameters.ParamByName('p1').Value:=edit2.Text;
Parameters.ParamByName('p2').LoadFromStream(stream ,ftBlob);
ExecSQL;
end;
end;
یه دی بی گرید هم گذاشتم که اطلاعات جدول و نشون بده درواقع به دیتا سورس جدولم وصله ،
ولی هر وقت من اینزرت میکنم ، باید یه بار برنامه رو ببندم یعنی از حالت اجرا خارج بشم ،دوباره برنامه رو باز کنم الان وقتی جدول و میبینم ، میبنم که رکوردم اینزرت شد !
چه طور ی میشه اگه بخوام وقتی کلید اینزرت و زدم تو دی بی گرید نشون بده رکورد جدیدمو
مرسی
من با این کد اینزرت میکنم :
procedure TForm1.Save;
var
stream:tstream;
begin
with ADOQuery1 do
begin
sql.Text:='select * from picsample';
Open;
end;
stream:=ADOQuery1.CreateBlobStream(ADOQuery1.Field ByName('pic'),bmRead);
image1.Picture.Graphic.SaveToStream(stream);
With ADOQuery1 do
begin
SQL.Text:='insert into picsample (name,family,pic) VALUES (:p0,:p1,:p2)';
Parameters.ParamByName('p0').Value:=edit1.Text;
Parameters.ParamByName('p1').Value:=edit2.Text;
Parameters.ParamByName('p2').LoadFromStream(stream ,ftBlob);
ExecSQL;
end;
end;
یه دی بی گرید هم گذاشتم که اطلاعات جدول و نشون بده درواقع به دیتا سورس جدولم وصله ،
ولی هر وقت من اینزرت میکنم ، باید یه بار برنامه رو ببندم یعنی از حالت اجرا خارج بشم ،دوباره برنامه رو باز کنم الان وقتی جدول و میبینم ، میبنم که رکوردم اینزرت شد !
چه طور ی میشه اگه بخوام وقتی کلید اینزرت و زدم تو دی بی گرید نشون بده رکورد جدیدمو
مرسی