線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1022
推到 Plurk!
推到 Facebook!

刪除會當掉

尚未結案
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-31 12:55:05 IP:61.59.xxx.xxx 未訂閱
請問各位大大 請問當我新增後自動填入以下程式碼 Query1.FieldByName('A_1').AsString:='dwd'; Query1.FieldByName('A_2').AsString:='dwd'; 但是刪除會當掉
------
Xax
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-31 13:34:56 IP:60.248.xxx.xxx 未訂閱
20052020您好 看不出上一段程式碼有錯誤,也許您檢查一些相對應的事件BeforeDelete,BeforePost是否有相關程式碼卡住 ..................... .楛耕傷稼,楛耘失歲. .....................
cashxin2002
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-31 14:21:01 IP:202.62.xxx.xxx 未訂閱
您好﹗    請檢查如下﹕    Query1.FieldByName('A_1').AsString:='dwd'; Query1.FieldByName('A_2').AsString:='dwd'; 以上兩句程式碼是寫在何事件之中﹖    在Run以上新增資料程式碼之后﹐是否有使用Post方法將資料存到資料庫﹐或是使用Cancel方法取消新增的動作﹐因為Delete方法只能在資料集元件處于dsBrowse的狀態下才可正常使用﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-31 14:38:13 IP:61.59.xxx.xxx 未訂閱
請問我是想讓A_1自動加入字,A_2自動清空補空白(可允許空白) 但是可以存不可以刪會當掉 procedure TForm1.Button1Click(Sender: TObject); begin   Query1.Close;   Query1.Open;   Query1.Append;    end;    procedure TForm1.Button2Click(Sender: TObject); begin   if MessageDLG('這一筆資料是否要儲存!',mtinformation,[mbYES,mbNo],0)=mryes then           begin              Query1.Post;              Query1.ApplyUpdates;              Query1.CommitUpdates;              end              else              ShowMessage('儲存資料失敗!');    end;    procedure TForm1.Button3Click(Sender: TObject); begin      Try       Query1.Delete;       Query1.ApplyUpdates;       Query1.CommitUpdates;       Query1.CancelUpdates;    Except        Query1.CancelUpdates;        Showmessage('刪除失敗!'); end; end;    procedure TForm1.Button4Click(Sender: TObject); var   s : String; begin   s := StringOfChar(' ',20);   Query1.FieldByName('A_1').AsString:='dwd';   Query1.FieldByName('A_2').AsString:=S; end; end.
------
Xax
cashxin2002
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-31 15:37:14 IP:202.62.xxx.xxx 未訂閱
您好﹗    改成如下試試﹕
procedure TForm1.Button1Click(Sender: TObject);
begin
  Query1.Close;
  Query1.Open;
  Query1.Append;
end;    procedure TForm1.Button2Click(Sender: TObject);
begin  
  if MessageDLG('這一筆資料是否要儲存!',mtinformation,[mbYES,mbNo],0)=mryes then
    begin
      Query1.Post;
      Try
        Query1.ApplyUpdates;
      Except
        ShowMessage('儲存資料失敗');
      end;
      Query1.CommitUpdates;
    end;    
end;    procedure TForm1.Button3Click(Sender: TObject);
begin
  Query1.Delete;
  Try  
    Query1.ApplyUpdates;
  Except
    ShowMessage('刪除資料失敗');
  end;
  Query1.CommitUpdates;
end;    procedure TForm1.Button4Click(Sender: TObject);
var
s : String;
begin
  s := StringOfChar(' ',20);
  Query1.FieldByName('A_1').AsString:='dwd';
  Query1.FieldByName('A_2').AsString:=S;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-10-31 16:01:33 IP:61.59.xxx.xxx 未訂閱
cashxin2002大大 還是跟上篇的錯誤訊息一樣,請救救我
------
Xax
cashxin2002
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-10-31 17:27:57 IP:202.62.xxx.xxx 未訂閱
您好﹗    先檢查一下﹕ Query元件是否有將CachedUpdates屬性值設為True?    單從您寫在各個Button的OnClick事件中的程式碼來看﹐其是需要有順序的按下﹐程式才會正常Run﹐如触發Button1的Click進入新增狀態﹐再触發Button4的Click給新資料錄賦值﹐最后触發Button2的Click做儲存的動作﹐不能顛倒﹐另外﹐當已經進入新增狀態(即已按下Button1)﹐在還沒有按下Button4(儲存新資料錄)之前﹐是不可以触發Button3的﹒    若還有問題﹐請上貼出完整的程式碼和說明﹐再幫您看看﹒    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-10-31 18:02:04 IP:61.59.xxx.xxx 未訂閱
設定如下 Active:False; AutocalcFields:True; AutoREfresh:True; CachedupDates:True; Constrained:True; unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls; type TForm1 = class(TForm) Database1: TDatabase; UpdateSQL1: TUpdateSQL; DataSource1: TDataSource; DBGrid1: TDBGrid; Button1: TButton; Button2: TButton; Button3: TButton; Query1: TQuery; Button4: TButton; Query1A_1: TStringField; Query1A_2: TStringField; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Query1.Close; Query1.Open; Query1.Append; end; procedure TForm1.Button2Click(Sender: TObject); begin if MessageDLG('這一筆資料是否要儲存!',mtinformation,[mbYES,mbNo],0)=mryes then begin Query1.Post; Try Query1.ApplyUpdates; Except ShowMessage('儲存資料失敗'); end; Query1.CommitUpdates; end; end; procedure TForm1.Button3Click(Sender: TObject); begin Query1.Delete; Try Query1.ApplyUpdates; Except ShowMessage('刪除資料失敗'); end; Query1.CommitUpdates; end; procedure TForm1.Button4Click(Sender: TObject); var S:string; begin s := StringOfChar(' ',10); Query1.FieldByName('A_1').AsString:='dwd'; Query1.FieldByName('A_2').AsString:=S; end; end.
------
Xax
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-10-31 20:41:42 IP:220.134.xxx.xxx 未訂閱
Hi, 20052020 
  您的Query1
  有否設定:
  RequestLive = True
------
What do we live for if not to make life less difficult for each other?
20052020
初階會員


發表:121
回覆:79
積分:40
註冊:2005-01-18

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-10-31 20:50:47 IP:61.59.xxx.xxx 未訂閱
恩有阿~ RequestLive = True 不知道那裡有錯
------
Xax
系統時間:2024-06-28 8:06:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!