Arsip: Bagaimana caranya handling onpostError dengan ADO

 
user image
more 16 years ago

surip

Gimana ada yang bisa bantu caranya handling onposterror ADOTable ato ADOQuery Jika ada dupliate entry.... Bantu yah... pusing neh...
user image
more 16 years ago

jayadi888

@surip: Gimana ada yang bisa bantu caranya handling onposterror ADOTable ato ADOQuery Jika ada dupliate entry.... Bantu yah... pusing neh...
kalau konsep aku, check dulu data yang mau di entry/post sudah ada atau belom kan lebih safe :)
user image
more 16 years ago

kaka-delphi

hehe ... bendul ... diriku juga pake metode yang sama ... :) Sebelumnya kamu cari dulu apakah data yang akan kamu masukkan sudah ada apa blom .... ? Metodenya bisa menggunakan Locate ataupun dengan menggunakan skrip SQL Semoga membantu yang lagi pusing .... Semangat !!!
user image
more 16 years ago

bangfauzan

Ada cara yang lebih mudah, yang mungkin berguna. Perlu diingat bahwa setiap setiap dataset sudah memiliki handling untuk setiap kemungkinan kesalahan, termasuk OnPostError. Khususnya OnPostError, semua dataset mempublish event ini. Kesalahan PostError ini biasanya meliputi: 1. Data kosong yang seharusnya isi, baik di database (not null) maupun di dataset (required=true), apabila constraint ini dilanggar maka akan terjadi posterror. 2. Terjadi duplikasi pada primary key (constraint pada database). 3. Data tidak valid, baik tipenya maupun rangenya. 4. Referential Integrity constraint violation, yaitu kesalahan karena foreign key dilanggar dalam database relatinship. 5. Kesalahan-kesalahan lain selain yang di atas. Apapun jenis kesalahannya, pasti akan akan ditangkap baik oleh dataset maupun database system, dan exception dimunculkan. Oleh karena itu, pengecekan data secara manual (script kita) tidak perlu dilakukan. tapi ini juga masalah preference, ada yg lebih suka pake script sendiri untuk menguji semua kemungkinan kesalahan, tapi ada juga (seperti saya) yang lebih percaya sama error handlernya database maupun dataset. apabila anda termasuk yang kedua, maka yang perlu dilakukan hanyalah menambah sedikit script pada OnPostError. misalnya kita menggunakan ADO: procedure TForm1.ADOTable1PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin showmessage("Gagal menyimpan data"); Action:=daAbort; end; atau kalo mo lebih detail: procedure TForm1.ADOTable1PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin //cek jenis kesalahan melalui ErrorCode atau yang lebih mudah pake ErrorDescription (E.Message) if Pos('Must', E.Message)>0 then showmessage("Field belum diisi") else if Pos('duplicate', E.Message)>0 then showmessage("Terjadi duplikasi data") else if Pos('foreign',E.Message)>0 then showmessage("Kesalahan referential integrity") else showmessage("Gagal menyimpan data, kesalahan: " + E.Message); Action:=daAbort end; semoga bermanfaat
user image
more 16 years ago

bangfauzan

Satu lagi, Enaknya, handler tersebut kan bisa dipake rame, arahkan saja OnPostEror setiap dataset pada prosedur di atas.
user image
more 16 years ago

jayadi888

aneh kok aku pake method onposterror gak keluar message-nya ?, ADOQuery+MySQL ODBC ?, ada sesuatu yang harus keketahui ?, thx b4
user image
more 16 years ago

bangfauzan

OnPostError terjadi kalo ada constraint tertentu yang dilanggar, kalo semuanya ok ya ga muncul (tidak terjadi exception).
user image
more 16 years ago

surip

Wah Metode yang gak kepikiran ma aku, aku udah pake E.message sebenernya tapi males ndeteksi stringnya kepanjangan,jadi gak kepikiran pake fungsi POS ngirit string :mrgreen: thank's 4 u sharing...
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com