刪除會當掉 |
尚未結案
|
20052020
初階會員 發表:121 回覆:79 積分:40 註冊:2005-01-18 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 請檢查如下﹕ Query1.FieldByName('A_1').AsString:='dwd';
Query1.FieldByName('A_2').AsString:='dwd';
以上兩句程式碼是寫在何事件之中﹖ 在Run以上新增資料程式碼之后﹐是否有使用Post方法將資料存到資料庫﹐或是使用Cancel方法取消新增的動作﹐因為Delete方法只能在資料集元件處于dsBrowse的狀態下才可正常使用﹒ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
20052020
初階會員 發表:121 回覆:79 積分:40 註冊:2005-01-18 發送簡訊給我 |
請問我是想讓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 發送簡訊給我 |
您好﹗ 改成如下試試﹕
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 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 先檢查一下﹕
Query元件是否有將CachedUpdates屬性值設為True? 單從您寫在各個Button的OnClick事件中的程式碼來看﹐其是需要有順序的按下﹐程式才會正常Run﹐如触發Button1的Click進入新增狀態﹐再触發Button4的Click給新資料錄賦值﹐最后触發Button2的Click做儲存的動作﹐不能顛倒﹐另外﹐當已經進入新增狀態(即已按下Button1)﹐在還沒有按下Button4(儲存新資料錄)之前﹐是不可以触發Button3的﹒ 若還有問題﹐請上貼出完整的程式碼和說明﹐再幫您看看﹒ =================================
有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗
================================
------
忻晟 |
20052020
初階會員 發表:121 回覆:79 積分:40 註冊:2005-01-18 發送簡訊給我 |
設定如下
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 發送簡訊給我 |
|
20052020
初階會員 發表:121 回覆:79 積分:40 註冊:2005-01-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |