全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:797
推到 Plurk!
推到 Facebook!

程式重新開啟發現資料庫無法正常更新

尚未結案
connection
一般會員


發表:5
回覆:8
積分:2
註冊:2005-07-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-31 13:16:17 IP:61.218.xxx.xxx 未訂閱
各位大大, 目前發現一個錯誤,因為程式明天就要上線,麻煩各位大大幫個忙 步驟一=>更新鈕: procedure TForm_GS201_I.BitBtn_UpdateClick(Sender: TObject); begin  StatusBar1.Panels[5].Text := '更新' ;  EditEnabledStatus;  qryOVRSPD.Edit ;  DBEdit_CARNO.SetFocus ;  BitBtn3.Enabled:=True ; //查詢影像圖檔(create form2) end;    步驟二:查詢影像圖檔 procedure TForm_GS201_I.BitBtn3Click(Sender: TObject); begin    frmCheckImg:= TfrmCheckImg.Create(self);    frmCheckImg.Tag:= 0 ;    frmCheckImg.ShowModal;    if (StatusBar1.Panels[5].Text = '更新') then     DBEdit_CARNO.SetFocus; end; end.   影像form2程式如下: public   ImgN,ImgN1,ImgN2,ImgN3: string;     { Public declarations }   end;    var   frmCheckImg: TfrmCheckImg;    implementation    uses uDM_Package, uGS201;    {$R *.dfm}    procedure TfrmCheckImg.FormClose(Sender: TObject;   var Action: TCloseAction); begin    Action :=cafree ; end;    procedure TfrmCheckImg.Query2CalcFields(DataSet: TDataSet); begin    Query2.FieldByName('Time').AsDateTime:=Query2.FieldByName('時間').AsDateTime;    Query2.FieldByName('Place').AsString:='高雄港碼頭'; end;    procedure TfrmCheckImg.FormShow(Sender: TObject); var     S1,S2,S3:TBlobStream;     JPEG1,JPEG2,JPEG3:TJpegImage; begin  query2.Active:=True;  DM_Package.qryRBIMG_P.Close;  DM_Package.qryRBIMG_P.SQL.Clear;  DM_Package.qryRBIMG_P.SQL.Add('Select * from RBIMG_P ');  DM_Package.qryRBIMG_P.SQL.Add('where CARNO=:CARNO');  DM_Package.qryRBIMG_P.ParamByName('CARNO').AsString:=Form_GS201_I.DBEdit_CARNO.Text;  DM_Package.qryRBIMG_P.Open;  query2.Close;  query2.SQL.Clear;  query2.SQL.Add('Select * from 違規資料 ');  query2.SQL.Add('where 檔案名稱='''+DM_Package.qryRBIMG_P.FieldByName('FNAME').AsString +'''');  query2.Prepare;  query2.Open;  try  S1:=TBlobStream.Create(TBlobField(DM_Package.qryRBIMG_P.FieldByName('PIC1')),bmRead);  jpeg1:=TJpegImage.Create;  jpeg1.LoadFromStream(S1);  Image1.Picture.Assign(jpeg1);     S2:=TBlobStream.Create(TBlobField(DM_Package.qryRBIMG_P.FieldByName('PIC2')),bmRead);  jpeg2:=TJpegImage.Create;  jpeg2.LoadFromStream(S2);  Image2.Picture.Assign(jpeg2);    S3:=TBlobStream.Create(TBlobField(DM_Package.qryRBIMG_P.FieldByName('PIC3')),bmRead);  jpeg3:=TJpegImage.Create;  jpeg3.LoadFromStream(S3);  Image3.Picture.Assign(jpeg3);  finally     S1.Free;     S2.Free;     S3.Free;     jpeg1.Free;     jpeg2.Free;     jpeg3.Free;  end; end;    procedure TfrmCheckImg.bnCloseClick(Sender: TObject); begin        query2.Close;    close; end; end. 步驟三:回到form1,更正資料,例如更改車號後,按=>確定鈕 DM_Package.DB_Package.StartTransaction ;  systemdate := DM_Package.GetSystemDate ; //取得Database日期   if (StatusBar1.Panels[5].Text = '更新') then    begin    if qryOVRSPD.State in [dsEdit,dsInsert] then      begin       try          qryOVRSPD.Post ;       except          ShowMessage('OVRSPD更新檔案失敗, 請通知系統管理人員!!') ;          Exit ;       end;      end;    end;    old_idate := qryOVRSPD.FieldByName('IDATE').ASString ;    old_itime := qryOVRSPD.FieldByName('ITIME').ASString ;    old_cdkind := qryOVRSPD.FieldByName('CDKIND').ASString ;    old_spdlmt := qryOVRSPD.FieldByName('SPDLMT').ASString ;    old_pcode := qryOVRSPD.FieldByName('PCODE').ASString ;    old_pcodename := qryOVRSPD.FieldByName('PCODENAME').ASString ;    old_ircode := qryOVRSPD.FieldByName('IRCODe').ASString ;    old_irname := qryOVRSPD.FieldByName('IRNAME').ASString ;    old_rulef1 := qryOVRSPD.FieldByName('RULEF1').ASString ;    old_ruleg1 := qryOVRSPD.FieldByName('RULEG1').ASString ;    old_ruleg1name := qryOVRSPD.FieldByName('RULEG1NAME').ASString ;    old_rulef2 := qryOVRSPD.FieldByName('RULEF2').ASString ;    old_ruleg2 := qryOVRSPD.FieldByName('RULEG2').ASString ;    old_ruleg2name := qryOVRSPD.FieldByName('RULEG2NAME').ASString ;    old_projcode := qryOVRSPD.FieldByName('PROJCODE').ASString ;    old_rulei := qryOVRSPD.FieldByName('RULEI').ASString ;    old_ruleiname := qryOVRSPD.FieldByName('RULEINAME').ASString ; DM_Package.DB_Package.Commit ;    步驟四: 這時候form1主畫面的資料會作更新動作,但是如果這時接著按"查詢影像圖檔",則錯誤訊息會出現"jpeg error#41" 而不管有沒有按"查詢影像圖檔"鈕,更新完後,畫面資料上表面上是有更新,但程式結束後重新再開啟就發現資料庫根本沒更新,請問各位大大,是否可幫忙解決這個問題?~~感激~~   < >< > 發表人 - cashxin2002 於 2005/10/31 14:07:01
cd109
一般會員


發表:23
回覆:33
積分:11
註冊:2003-12-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-31 13:50:41 IP:210.243.xxx.xxx 未訂閱
請你將所屬BDE的BLOB SIZE加大.
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-31 14:10:30 IP:202.62.xxx.xxx 未訂閱
您好﹗    提問的標題不利于文章查詢﹐我已代您做修改﹐以后請注意提問標題需有意義性﹒ 另外﹐請注意指明資料庫系統及版本﹐以利于網友的判斷﹒ 謝謝合作﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
connection
一般會員


發表:5
回覆:8
積分:2
註冊:2005-07-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-31 15:44:43 IP:61.218.xxx.xxx 未訂閱
不好意思, 感謝大大的更改, PO的不詳細,資料庫是SYbase,版本11.9.2
系統時間:2024-06-28 8:34:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!