Jump to content
Sign in to follow this  
aRmsTer

Adodb..

Recommended Posts

disebabkan ramai yang bertanya pasal mcmmane nak link db ke vb... kat sini ada coding mcmmane nak link pakai adodb... pasal pakai adodc aku dah xigt tongue.gif

'letak kat satu module berasingan drpd coding.. cth modUmum ke modDatabase
'ke modKAripap pon boleh jugak ..

Option Explicit

Global gcnRpt As New ADODB.Connection
Global gcnRptString As String
Global gcnRead As New ADODB.Connection
Global gcnReadString As String
Global gcnUpdate As New ADODB.Connection
Global gcnUpdateString As String

'ubah kat sini aje..
Private Function fnGetConnectionString()
    Dim strConnString As String
    strConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\dbWJSH.mdb;Persist Security Info=False"
    fnGetConnectionString = strConnString
End Function

Sub prOpenRecordSetRead(ByVal strSQL As String, RS As ADODB.Recordset)
On Error GoTo errHandler

   If gcnRead Is Nothing Or gcnReadString = "" Then
      If fnOpenConnRead() Is Nothing Then
         MsgBox "Database cannot be accessed at this time." & vbCr & _
                "Please try again later.", vbCritical
         Set RS = Nothing
         Exit Sub
      End If
   Else
      If gcnRead.State = adStateClosed Then
         If fnOpenConnRead() Is Nothing Then
            MsgBox "Database cannot be accessed at this time." & vbCr & _
                   "Please try again later.", vbCritical
            Set RS = Nothing
            Exit Sub
         End If
      End If
   End If
   gcnRead.IsolationLevel = adXactBrowse  'adXactReadCommitted
   gcnRead.CursorLocation = adUseServer
   RS.Open strSQL, gcnRead, adOpenDynamic, adLockReadOnly
   Exit Sub
errHandler:
       
   MsgBox Err.Description
   Err.Clear
   
   Set RS = Nothing
   Set gcnRead = Nothing
   gcnReadString = ""
End Sub
Sub prOpenRecordSetUpdate(ByVal strSQL As String, RS As ADODB.Recordset)
On Error GoTo errHandler

   If gcnUpdate Is Nothing Or gcnUpdateString = "" Then
      If fnOpenConnUpdate() Is Nothing Then
         MsgBox "Database cannot be accessed at this time." & vbCr & _
                "Please try again later.", vbCritical
         Set RS = Nothing
         Exit Sub
      End If
   Else
      If gcnUpdate.State = adStateClosed Then
          If fnOpenConnUpdate() Is Nothing Then
             MsgBox "Database cannot be accessed at this time." & vbCr & _
                    "Please try again later.", vbCritical
             Set RS = Nothing
             Exit Sub
          End If
      End If
   
   End If
   gcnUpdate.IsolationLevel = adXactReadCommitted 'adXactBrowse   'adXactReadCommitted
   gcnUpdate.CursorLocation = adUseServer
   RS.Open strSQL, gcnUpdate, adOpenDynamic, adLockOptimistic
   Exit Sub
errHandler:
   MsgBox Err.Description
   Err.Clear
   Set RS = Nothing
   Set gcnUpdate = Nothing
   gcnUpdateString = ""
End Sub

Sub prCloseDestroyRecordSet(RS As ADODB.Recordset)
On Error Resume Next
   If RS.State <> 0 Then
      RS.Close
      DoEvents
   End If
   Set RS = Nothing
   Err.Clear

End Sub

Function fnOpenConnRead() As ADODB.Connection
On Error GoTo HandleConnectionError
    gcnReadString = ""
    Set gcnRead = New ADODB.Connection
    gcnRead.CursorLocation = adUseServer
    gcnRead.ConnectionTimeout = 15
    gcnRead.Mode = adModeRead
    gcnReadString = fnGetConnectionString
    gcnRead.Open gcnReadString
    Set fnOpenConnRead = gcnRead
    Exit Function
HandleConnectionError:
    Set gcnRead = Nothing
    gcnReadString = ""
    MsgBox Err.Description
    Err.Clear
End Function

Function fnOpenConnUpdate() As ADODB.Connection
On Error GoTo HandleConnectionError
    gcnUpdateString = ""
    Set gcnUpdate = New ADODB.Connection
    gcnUpdate.CursorLocation = adUseServer
    gcnUpdate.ConnectionTimeout = 15
    gcnUpdate.Mode = adModeReadWrite
    gcnUpdateString = fnGetConnectionString
    gcnUpdate.Open gcnUpdateString
    Set fnOpenConnUpdate = gcnUpdate
    Exit Function
HandleConnectionError:
    Set gcnUpdate = Nothing
    gcnUpdateString = ""
    MsgBox Err.Description
    Err.Clear
End Function

Private Sub prCloseConnRead()
    If Not gcnRead.State = adStateClosed Then
       gcnRead.Close
       gcnReadString = ""
    Else
       gcnReadString = ""
    End If
    Set gcnRead = Nothing
End Sub
Private Sub prCloseConnUpdate()
    If Not gcnUpdate.State = adStateClosed Then
       gcnUpdate.Close
       gcnUpdateString = ""
    Else
       gcnUpdateString = ""
    End If
    Set gcnUpdate = Nothing
End Sub
Sub prCloseConnAll()
    Call prCloseConnRead
    Call prCloseConnUpdate
End Sub

utk call procedure korang sume (yg xabis2 bertanye psl mcmmane nak link db) tau kan? kalau xtau, cakap laa... nanti aku post mcmmane nak call procedure2 kat atas nih utk save,delete etc.

Share this post


Link to post
Share on other sites

'letak kat satu module berasingan drpd coding.. cth modUmum ke modDatabase

'ke modKAripap pon boleh jugak ..

aRmsTer...cam biasak la..aku x phm maksud ayat nih..

lepas tuh cara nak panggil procedure pung aku tak tau.. ajag laaaa daku..

Share this post


Link to post
Share on other sites

hehehehe...

module.... uhhh.. mcmmane aku nak terangkan bende ni eek..

generally.. module nih guna dia kalau ko nak taruk coding2 yg selalunya digunakan lebih dari satu form mcm global variable etc... (aku tau penerangan aku salah, sape2 nak elaborate.. silakan pasal aku skrg nih kat umah aku kat joho.. pakai dial-up je.. paham2 je lah ngan disconnected memanjang... connection lembab lg.. huuuh)

mcmmane nak add module:

klik project>add new module

mcmmana nak call procedurre dlm tuh:

guna statement call..

cth

Call modKaripap.prOpenRecordSetRead(strSQL,RS)

ahhh... nak detail tunggu ari isnin karang ahh.. tensen aku pakai dialup nih tongue.gif

Share this post


Link to post
Share on other sites

hmm.. aku rase kalau terangkan pakai ayat.. kemungkinan besar ko xpaham kot.. pasal aku punya karangan fail... so,mcm ni laa... aku buat sample program(bodoh2) pastuh upload kat server memana.. nanti aku letak link utk donload sample tuh... kalau tanya pun.. based dari situ je laa..

tgk laa.. petang karang aku buat (kalau xbz..)

sekian terima kasih..

Share this post


Link to post
Share on other sites

okeh..

http://chearmster.tripod.com/files/MSSCCPRJ.zip

rase2nye... sape2 yg tgk sample nih mesti bole faham xbyk pon sikit laa care2 penggunaan adodb...

kalau ade yg xpaham psl coding tuh post kat sini...

p/s: puteranetwork.. kalau nak amik sample program tuh utk tutorial pon boleh psl program tuh sentuh most of beginner(n a bit a advance) needs in vb (kot) tongue.giftongue.gif

Share this post


Link to post
Share on other sites

boleh laa...

cuba ko right klik>save target as.. (klik direct mmg laa xbole... )

edited:

anyway.. program nih cuma 15minutes-work so aku xhairan laa kalau function dia mengarut2 sikit...

utk add: isik je terus username & password baru n klik add...

utk edit: actually edit password shj.. tp aku malas nak disable txtUserID tuh.. isik password baru n klik edit password

utk delete: klik kat mana2 data kat listview tuh n klik delete..

p/s:lgpon tujuan aku utk tunjuk mcmmana adodb code kat atas tuh berfungsi kan... so yg lain2 tuh letak ke tepi dulu laa tongue.giftongue.giftongue.gif

Edited by aRmsTer

Share this post


Link to post
Share on other sites

patutle x leh..aku guna pc kat lab..pc ni x leh guna right click..admin blocked.

ader cara lain tak utk aku donload cth nih?

oopsss...dah bole donlod dah.. tp xleh run kat lab...vb problem lak..

sok aku infom ko latest terkini..

tq

Edited by dekzorro

Share this post


Link to post
Share on other sites

aRmsTer

Tak bleh run…coding ni ade problem:

Set RS = New ADODB.Recordset

Aku tambah :

App.Path + "G:\vb coding\vb code\semtara-dah\MSSCCPRJ\dbUserInfo.mdb;Persist Security Info=False"

… pun tak leh jugak..ape problem dia?

Error:

Run-time error ‘430’

Class does not support Automation or doesn’t support expected interface.

...atau VB aku ada yg tak complete kot masa installation tuh...

Share this post


Link to post
Share on other sites

G:\vb coding\vb code\semtara-dah\MSSCCPRJ\dbUserInfo.mdb

location db ko same ngan projek vb tu ke x?kalau sama, xpayah laa taruk full directory... cukup kalau tulis mcm ni je:

App.Path + "\dbUserInfo.mdb;Persist Security Info=False"

lg satu... ko bukak aku nyer project... klik kat project>references... bandingkan ngan reference kat projek ko senirik... kalau ade reference (kat projek ko) yg still x dipilih.. pilih(tick).. psl kalu ikut error tuh... ko still xenablekan OLE Automation nyer library reference..

Share this post


Link to post
Share on other sites

location db ko same ngan projek vb tu ke x?kalau sama, xpayah laa taruk full directory... cukup kalau tulis mcm ni je:

App.Path + "\dbUserInfo.mdb;Persist Security Info=False"

lg satu... ko bukak aku nyer project... klik kat project>references... bandingkan ngan reference kat projek ko senirik... kalau ade reference (kat projek ko) yg still x dipilih.. pilih(tick).. psl kalu ikut error tuh... ko still xenablekan OLE Automation nyer library reference..

armster

Setakat apa yang aku tahu, utk gabungkan beberapa String variable bole guna '&'. tapi hang pakai '+'. bole terang sket ? mungkin ada sket beza ker?.. tq

Share this post


Link to post
Share on other sites

Ader

vbrun60sp5.exe is a self-extracting executable file that installs versions of the Microsoft Visual Basic run-time files required by all applications created with Visual Basic 6.0. The files include the fixes shipped with Visual Studio 6.0 Service Pack 5.

Share this post


Link to post
Share on other sites

service pack 6 dah lama kluar...

adehh..aku cakap jer service pack tuh ade..bukan aku cakap pasal latest version..lagikpun, aku cam aRmsTer..bukan sume aku pakai cool.gif

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...