Software solutions and questions blog
RSS icon Email icon Home icon
  • Visual basic – mySql <> Sqlserver – Access

    Posted on March 7th, 2007 Christophe No comments

    Ik maak meestal gebruik van een access database als ik een programma schrijf. Of van een sqlServer. Maar om online applicaties te schrijven is het aan te raden een mySQL database te gebruiken. Nu zijn er wel een paar verschillen om die aan te spreken. Ik had het al eens over het boolean type. Nu wil ik het eens hebben over het openen van een recordset. Een recordset is een verzameling van kolommen uit één of meerdere tabellen.

    We kunnen verschillende soorten recordsets openen. De meeste gebruikte zijn de recordsets die op de server blijven en bijgevolg niet geupdated kunnen worden en er zijn recordsets die naar de client verstuurd worden en die de onderliggende tabel wel kunnen aanpassen. (delete – update)

    Je moet in elk geval natuurlijk een connectie met een database hebben.
    Voor de rest maakte ik gebruik van 2 zelf geschreven functies, zijnde :

    CREATERECORDSETONSERVER (rs)
    CREATERECORDSETONCLIENT (rs)

    Deze werken prima als volgt.
    dim adoTabel as new adodb.Recordset
    CREATERECORDSETONCLIENT adoTabel
    adoTabel.open "select naam, voornaam from werknemers order by zoeknaam"

    Voor een mySQL database werken deze functies helaas niet.
    Je moet de waarden van de connectie, de lockmethode en de cursosside steeds meegeven bij het openen van de recordset.
    dus voor een updateble recordset met de connectie die de welluidende naam CONN heeft:

    adoTabel.open "select naam, voornaam from werknemers order by zoeknaam",CONN, adOpenStatic, adLockOptimistic
    Hierbij is de cursorlocation van de connectie reeds ingesteld op CONN.cursorlocation = adUseClient

    Waarom ik dit schrijf? Ik ben er van overtuigd dat er via google regelmatig op zo een dingen gezocht wordt.
    En ook omdat ik zelf een programma dat voorzien was om op een sqlServer te draaien aan het ombouwen ben naar een mySQL database.

    [tags]visual basic, mySQL, SQLServer, Access, recordset[/tags]