Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

[ask]btn edit,delete gak efek delphi

gan , btn ane gak efek padahal sudah dirun gak ada error...
database,query,datasource ane di dalam 1unit data module..
berikut skrip nya

implementation



{$R *.dfm}



procedure TForm1.tampildata;

begin
  with dm.blackberry do //dm->data module
  begin
  sql.Clear;
  sql.Add('select * from blackberry');
  Active:=false;
  Active:=true;
  end;
 
end;



procedure TForm1.bersih;

begin
Edit1.Clear;
Edit2.Clear;

end;



procedure TForm1.BitBtnExitClick(Sender: TObject);

begin

if MessageDlg('Apakah anda yakin menutup form ini?',mtConfirmation,[mbYes,mbNo

],0)=mryes then Form1.Close;

end;



procedure TForm1.FormShow(Sender: TObject);

begin

tampildata;

bersih;



end;



procedure TForm1.BitBtnSaveClick(Sender: TObject);

begin
 
if Length(Edit1.Text)<>4 then
  begin
  ShowMessage('Kode Blackberry harus 4 karakter/tidak boleh kosong !!');
  Edit1.SetFocus;
  exit;
end;


 
if Length(Edit2.Text)<1 then
  begin
  ShowMessage('Nama Blackberry Belum Diisi !!');
  Edit2.SetFocus;
  exit;
end;


 
if MessageDlg('Data Blackberry ingin disimpan ?',mtInformation,[mbYes,mbNo],0)=mryes then
 
dm.dbpakarbb.Execute('insert into blackberry values('''+Edit1.Text+''','''
 
+Edit2.Text+''')');
 
Dm.blackberry.Requery;
 
tampildata;
 
BitBtnSave.Enabled:=True;
 
Edit1.SetFocus;



end;

procedure TForm1.Edit1Change(Sender: TObject);

begin
  dm.blackberry.SQL.Clear;
  dm.blackberry.SQL.Add('select * from blackberry where kd_bb='''+Edit1.Text+'''');
  dm.blackberry.Open;;


  if not dm.blackberry.Eof then
  begin
  if MessageDlg('Nama Blackberry sudah ada, ingin diedit ?',mtInformation,[mbYes,mbNo],0)=mryes then
  begin
  Edit2.Text:=dm.blackberry.FieldValues['nm_bb'];
  Edit1.Enabled:=false;
  BitBtnEdit.Enabled:=true;
  BitBtnDelete.Enabled:=true;
  BitBtnSave.Enabled:=false;
  BitBtnCancel.Enabled:=true;
  edit2.SetFocus;
  end
  else
  begin
  tampildata;
  exit;
  end;
  end;
 
end;



procedure TForm1.BitBtnCancelClick(Sender: TObject);

begin
 
tampildata;
  BitBtnSave.Enabled:=True;
  Edit1.SetFocus;
 
end;



procedure TForm1.BitBtnEditClick(Sender: TObject);

begin

i f MessageDlg('Yakin untuk diupdate ??',mtInformation,[mbYes,mbno],0)=mryes then
 
dm.dbpakarbb.Execute('update blackberry set nm_bb='''+Edit2.Text+''' where kd_bb='''
 
+Edit1.Text+'''');
 
dm.blackberry.Requery;
 
ShowMessage('Data sudah diupdate');
 
tampildata;
 
BitBtnSave.Enabled:=true;
 
bersih;
 
exit;

end;



procedure TForm1.BitBtnDeleteClick(Sender: TObject);

begin

if MessageDlg('Data Blackberry Ingin dihapus ?',mtInformation,[mbYes,mbNo],0)=mrYes then

dm.dbpakarbb.Execute('delete from blackberry where kd_bb='''+Edit1.Text+'''');

dm.blackberry.Requery;

ShowMessage('Data sudah dihapus');

tampildata;

BitBtnSave.Enabled:=True;

bersih;

exit;

end;



procedure TForm1.BitBtnRefreshClick(Sender: TObject);

var n,urutan,jkarakter:integer;
kbaru:string[4];

begin
dm.blackberry.sql.Clear;
dm.blackberry.sql.add('select * from blackberry order by kd_bb');
dm.blackberry.open;

if dm.blackberry.recordcount=0 then
n:=1
else begin
dm.blackberry.last;
urutan:=strtoint(copy(dm.blackberry.fieldvalues['kd_bb'],2,3));
n:=urutan+1;
end;

jkarakter:=length(trim(inttostr(n)));

case jkarakter of

1:kbaru:='B00'+trim(inttostr(n));

2:kbaru:='B0'+trim(inttostr(n));

3:kbaru:='B'+trim(inttostr(n));

end;

edit1.text:=kbaru;

edit1.selstart:=length(kbaru);

edit2.setfocus;

tampildata;

bitbtnsave.enabled:=true;

end;





procedure TForm1.FormCreate(Sender: TObject);

begin



end;



end.

Tanggapan

  • edited April 2013
    implementation

    {$R *.dfm}

    procedure TForm1.tampildata;
    begin
    with dm.blackberry do //dm->data module
    begin
    sql.Clear;
    sql.Add('select * from blackberry');
    Active:=false; // biasanya sebelum SQL.Clear;
    Active:=true;
    end;
    end;

    procedure TForm1.bersih;
    begin
    Edit1.Clear;
    Edit2.Clear;
    end;

    procedure TForm1.BitBtnExitClick(Sender: TObject);
    begin
    if MessageDlg('Apakah anda yakin menutup form ini?',mtConfirmation,[mbYes,mbNo],0)=mryes then Form1.Close;
    end;

    procedure TForm1.FormShow(Sender: TObject);
    begin
    tampildata;
    bersih;
    end;

    procedure TForm1.BitBtnSaveClick(Sender: TObject);
    begin
    if Length(Edit1.Text)<>4 then
    begin
    ShowMessage('Kode Blackberry harus 4 karakter/tidak boleh kosong !!');
    Edit1.SetFocus;
    exit;
    end;

    if Length(Edit2.Text)<1 then
    begin
    ShowMessage('Nama Blackberry Belum Diisi !!');
    Edit2.SetFocus;
    exit;
    end;

    if MessageDlg('Data Blackberry ingin disimpan ?',mtInformation,[mbYes,mbNo],0)=mryes then
    dm.dbpakarbb.Execute('insert into blackberry values('''+Edit1.Text+''','''+Edit2.Text+''')');

    Dm.blackberry.Requery;
    tampildata;
    BitBtnSave.Enabled:=True;
    Edit1.SetFocus;
    end;

    procedure TForm1.Edit1Change(Sender: TObject);
    begin
    dm.blackberry.SQL.Clear;
    dm.blackberry.SQL.Add('select * from blackberry where kd_bb='''+Edit1.Text+'''');
    dm.blackberry.Open;;

    if not dm.blackberry.Eof then // Fungsinya apa ? kan tidak ada perulangan ?
    begin
    if MessageDlg('Nama Blackberry sudah ada, ingin diedit ?',mtInformation,[mbYes,mbNo],0)=mryes then
    begin
    Edit2.Text:=dm.blackberry.FieldValues['nm_bb'];
    Edit1.Enabled:=false;
    BitBtnEdit.Enabled:=true;
    BitBtnDelete.Enabled:=true;
    BitBtnSave.Enabled:=false;
    BitBtnCancel.Enabled:=true;
    edit2.SetFocus;
    end
    else
    begin
    tampildata;
    exit;
    end;
    end;
    end;

    procedure TForm1.BitBtnCancelClick(Sender: TObject);
    begin
    tampildata;
    BitBtnSave.Enabled:=True;
    Edit1.SetFocus;
    end;

    procedure TForm1.BitBtnEditClick(Sender: TObject);
    begin
    if MessageDlg('Yakin untuk diupdate ??',mtInformation,[mbYes,mbno],0)=mryes then
    dm.dbpakarbb.Execute('update blackberry set nm_bb='''+Edit2.Text+''' where kd_bb='''+Edit1.Text+'''');
    dm.blackberry.Requery;
    ShowMessage('Data sudah diupdate'); // pesan ini akan muncul walaupun pada pertanyaan
    tampildata; // 'Yakin untuk diupdate ??' anda tekan NO
    BitBtnSave.Enabled:=true;
    bersih;
    exit; // Fungsinya apa ? ini kan sudah akhir procedure ?
    end;

    procedure TForm1.BitBtnDeleteClick(Sender: TObject);
    begin
    if MessageDlg('Data Blackberry Ingin dihapus ?',mtInformation,[mbYes,mbNo],0)=mrYes then
    dm.dbpakarbb.Execute('delete from blackberry where kd_bb='''+Edit1.Text+'''');
    dm.blackberry.Requery;
    ShowMessage('Data sudah dihapus'); // pesan ini akan muncul walaupun pada pertanyaan
    tampildata; // 'Data Blackberry Ingin dihapus ?' anda tekan NO
     BitBtnSave.Enabled:=True;
    bersih;
    exit; // Fungsinya apa ? ini kan sudah akhir procedure ?
    end;



    procedure TForm1.BitBtnRefreshClick(Sender: TObject);
    var n,urutan,jkarakter:integer;
    kbaru:string[4];
    begin
    dm.blackberry.sql.Clear;
    dm.blackberry.sql.add('select * from blackberry order by kd_bb');
    dm.blackberry.open;

    if dm.blackberry.recordcount=0 then
    n:=1
    else
    begin
    dm.blackberry.last;
    urutan:=strtoint(copy(dm.blackberry.fieldvalues['kd_bb'],2,3));
    n:=urutan+1;
    end;

    jkarakter:=length(trim(inttostr(n)));

    case jkarakter of
    1:kbaru:='B00'+trim(inttostr(n));
    2:kbaru:='B0'+trim(inttostr(n));
    3:kbaru:='B'+trim(inttostr(n));
    end;

    edit1.text:=kbaru;
    edit1.selstart:=length(kbaru);
    edit2.setfocus;
    tampildata;
    bitbtnsave.enabled:=true;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin

    end;

    end.


    1. anda menggunakan komponen apa untuk dbpakarbb ? ADO / BDE / ?

    2. Query untuk tambah biasanya
    INSERT INTO namatabel (namafild1, namafild2, ...) VALUES (isi1, isi2, ...)

    3. Edit dan Delete sepertinya tidak ada masalah
  • thx gan koreksi nya...
    1. database saya pake ADOconection.. terletak pada dm(data module)
    2.sama juga gan di tambah /save button saya bisa jalan kok, databasenya bertambah... hny pada button edit,delete,... gak efek ke database..
    3. masa sih gan?? coba ane koreksi seperti yg agan cth kan tadii...

  • if not eof itu kalo saya hapus tidak pengaruh kan?
  • edited April 2013
    sep gan, edit/delete rupanya berdasarkan kode yg diketikan pada edit1.text jadi baru bisa efek ke btn edit atau delete...
    thanks waktunya untuk berbagi info...


    satu lagi gan, kalo button cancel itu biasanya koding nya apa ya??

  • cancel biasanya hanya mengosongkan edit dan menggembalikan kondisi emable / disable pada button.
    cancel = reset form ke kondisi seperti saat FromCreate.
  • ow speerti
    edit1.clear
    edit2.clear
    btnxx.enabled:=true;
    btnxx.enabled:=true;
    btnxx.enabled:=true;
    gitu ya gan??
  • yes. :-B
Sign In or Register to comment.