delphi向SQL Server2005中存取圖片

SQL Server2005中,我用image類型來存取圖片,首先把數據庫表設置好

例如我的pic表有如下兩列:時間,圖片。

delphi中,我用ADOQuery來連接數據庫,但是數據庫中有好幾張表,我只往其中一張表裏存圖片。

首先將攝像頭傳來的jpeg圖片存入文件中,將路徑設爲全局變量以供後續使用。(當然你也可以用現成的jpeg圖片)


function/procedure 存入圖片過程

var

    strmDB: TMemoryStream;

begin

   strmDB:= TMemoryStream.Create;
   TMemoryStream(strmDB).LoadFromFile(sLocate1);//此處sLocate1爲文件路徑 
   with ADOQuery1 do

    begin

          Close;

          SQL.Clear;

          SQL.Text:='INSERT INTO pic  VALUES('''+DateTimeToStr(Now)+''',  :a) ';

          Parameters.ParamByName('a').LoadFromStream(strmDB, ftBlob);

          ExecSQl;    

    end;

    strmDB.Free;

end;

讀取過程

strmDB := tadoblobstream.Create(tblobfield(fieldbyname('圖片')),bmread);
   
這是關鍵一句,前提是按你自己的條件打開pic這張表,再操作,如果提示找不到‘圖片’這一列之類的錯誤,請務必將你的sql代碼放到SQLServer2005上去試一下

就知道哪裏出錯了,經常是沒有運行open之類的句子就進行fieldbyname的操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章