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

如何解除及鎖定ADOTable1的資料

尚未結案
sexy613
一般會員


發表:15
回覆:24
積分:7
註冊:2002-12-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-08 11:03:24 IP:61.16.xxx.xxx 未訂閱
再ADOTable1下有一個Locktype可選擇鎖定類型,我想問說能不能做一個修改的BOTTON 按了之後能讓Locktype的屬性質變成 Itunspecified (未定意鎖定質) 而按瀏覽功能的BOTTON 鍵 如: 上一筆 下一筆 的BOTTON 時Locktype的屬性質變成Itreadyonly (唯讀鎖定) 。 拜託各位大大的幫忙了 多謝 多謝 !
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-08 12:22:10 IP:218.16.xxx.xxx 未訂閱
LockType 只能在 Table 是 Close (Active = false) 的情況下改變,不能在開 Table 後改變 所以你每次改變都要 : 1. 記住當前記錄的 Key 2. ADOTable1.Close; 3. ADOTable1.LockType := ltXXXX 4. ADOTable1.Open; 5. ADOTable1.Locate(KeyName,KeyValue,[]); 又煩又慢,可以的話最好別在每次移記錄這樣做
sexy613
一般會員


發表:15
回覆:24
積分:7
註冊:2002-12-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-08 12:56:04 IP:61.16.xxx.xxx 未訂閱
Sorry 我主要是要寫個類似通訊錄的程式 其中我想要 在這個(通訊錄)FORM 下的  TForm1.DBEdit1 按瀏覽功能鍵的BOTTON時 如:上一筆 下一筆 不能輸入資料 要按修改 或 新增 鍵時 才能輸入資料。 這才是我真正想問的問題 之前的問題我表達上有一些錯誤 歹勢啦 !  拜託各位大大幫幫忙了 多謝 !<>
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-08 13:12:58 IP:218.16.xxx.xxx 未訂閱
unit Unit1;    interface    uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls;    type
  TForm1 = class(TForm)
    DBNavigator1: TDBNavigator;
    DBEdit1: TDBEdit;
    Table1: TTable;
    DataSource1: TDataSource;
    procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
    procedure DataSource1StateChange(Sender: TObject);
  private
    CanEdit : Boolean;
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}    procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);
begin
  CanEdit := Button in [nbInsert,nbEdit];
end;    procedure TForm1.DataSource1StateChange(Sender: TObject);
begin
  if not CanEdit and (Table1.State in [dsEdit,dsInsert]) then
    Table1.Cancel;
end;    end.
我是用 TTable 但轉成 ADOTable 是一樣的
sexy613
一般會員


發表:15
回覆:24
積分:7
註冊:2002-12-30

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-06-08 15:10:33 IP:61.16.xxx.xxx 未訂閱
SORRY 我還是不太清楚耶 以下的指令 不了解的地方是 : 一、 我不是用DBNaviator的元件 我是用ToolButton 建立 上一筆 下一筆 新增 移除 等的按鍵 。 所以我不知道要在哪加入以下的指令 : procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); begin CanEdit := Button in [nbInsert,nbEdit]; end; 二、 我有再DataSource 裡打入以下的程式碼 可是它有偵測出錯誤 她不認 是 CanEdit這個指令耶 。 procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin if not CanEdit and (ADOTable1.State in [dsEdit,dsInsert]) then ADOTable1.Cancel; end; 所以懇請大大再次幫幫我著個可憐的新手 拜託拜託 多謝 !
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-06-08 16:04:49 IP:218.16.xxx.xxx 未訂閱
上面的程式碼 CanEdit 是在 private 自訂的變數,請認真點看看。 自訂 Button 基本一樣,Edit / Insert 的 Button 的 onClick 事件設 CanEdit := True 其他設 CanEdit := False 便可。
sexy613
一般會員


發表:15
回覆:24
積分:7
註冊:2002-12-30

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-06-08 18:23:35 IP:61.16.xxx.xxx 未訂閱
我又要說聲Sorry la 因為我的程式又有問題了 現在有關瀏覽鍵的上一筆 下一筆 以及 編輯鍵的 新增 刪除 都沒問題 但是 唯讀 儲存鍵有問題啊 請大大幫我看一下 在幫我一次 以下是我的程式碼: 這是儲存鍵的程式碼: procedure TForm1.ToolButton7Click(Sender: TObject); begin CanEdit := True; IF ADOTable1.State=dsEdit Then ADOTable1.Post; end; 這是新增鍵的程式碼: procedure TForm1.ToolButton5Click(Sender: TObject); begin CanEdit := True; ADOTable1.Insert; end; 這是在DataSource1下的程式碼: procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField); begin if not CanEdit and (ADOTable1.State in [dsEdit,dsInsert]) then ADOTable1.Cancel; end; 拜託大大再次幫幫我 THANK U VERY MUCH !
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-06-08 20:03:35 IP:218.16.xxx.xxx 未訂閱
procedure TForm1.ToolButton7Click(Sender: TObject);
begin
  CanEdit := True; 
  IF ADOTable1.State in [dsEdit,dsInsert] Then
  ADOTable1.Post;
end;
mustapha.wang
資深會員


發表:89
回覆:409
積分:274
註冊:2002-03-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-06-09 10:17:07 IP:218.1.xxx.xxx 未訂閱
DataSource1.AutoEdit:=false; =============== 久病成良医-多试
------
江上何人初见月,江月何年初照人
sexy613
一般會員


發表:15
回覆:24
積分:7
註冊:2002-12-30

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-06-09 22:35:32 IP:61.13.xxx.xxx 未訂閱
多謝各位大大的幫助 小弟已經解決此問題啦  日後還請多多指教啊 
系統時間:2024-07-05 18:26:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!