Datenbank Newbie

  • VB6

Es gibt 20 Antworten in diesem Thema. Der letzte Beitrag () ist von LaMa5.

    Datenbank Newbie

    Hallo Leute,

    ich habe mir vorgenommen ein Projekt zu schreiben, fuer das ich Datenbanken brauche. Problem ist:
    Ich habe kein Access!

    Kann es auch nicht noch nachtraeglich installieren.

    Gibt es alternatieven???

    Danke im Vorraus!
    Hi!

    Für den Anfang kannst du auch den Visual Data Manager benutzen, der in VB 6 Prof. als AddIn verfügbar ist. Einfach per AddIns / AddIn-Manager den Visual Data Manager aktivieren und dann per AddIns / Visual Data Manager anklicken. Damit kann man prima Datenbanken erstellen.

    mfG,

    Malcolm
    so ich drehe durch. ich habe keine Datei Admin.mdb in App.Path.
    Und e will ich jetzt mit VB oeffnen.
    Ich habe aber kein Access!

    In dieser DB ist eine TB Album und eine Feld das Album_Name heiszt.

    Wie kann ich jetzt connecten? ich habs versucht, kriegst aber nicht hin und wie kann ist Album_Name in einer Msgbox ausgeben???

    Kann mir jem etwas Code geben???

    THX Ihr seid die besten!
    Hallo Lost-Ha[n]f-PHP,

    sag mir bitte eines, was passiert die nächsten 20 Mal, wenn du auf eine DB zugreifen möchtest??? Du bist wieder im Forum und hast es immer noch nicht gelernt, toll!

    Wenn du schon selbst Quelltext geschrieben hast, dann präsentiere ihn uns.

    Ich habe dir zwei echt superinformative Übersichten bzgl ADO gesandt, da lernen auch Leute etwas daraus, die schon problemlos eine Connection erstelllen können.

    so ich drehe durch. ich habe keine Datei Admin.mdb in App.Path.
    Und e will ich jetzt mit VB oeffnen.
    Ich habe aber kein Access!

    Schreibe doch bitte einmal Klartext.

    Solche Tutorials muss man durcharbeiten, die kann man nicht austrinken wie ien Glas Wasser und der Durst ist gestillt.

    Gruß Markus
    Ok tut mr leid: Aber das Tutoreal hat nur teils gefunzt. Dazu muss ich sagen, dass ich wenig von Datenbanken in Verbindung mit VB verstehe. nun gut der Quellcode:
    <pre>
    Dim promp As ConnectPromptEnum
    Dim sUserId As String

    Me.Show

    ' Prompt soll zur Verfollständigung angezeigt werden.
    ' Es können mehrere Einstellungen vorgenommen werden.
    promp = adPromptComplete

    ' Bestehenden Wert aus der Registry auslesen,
    ' wenn kein Wert vorhanden dann NT-UserId auslesen
    sUserId = GetSetting(App.Title, "Main", "UserId", _
    Environ$("username"))

    With Cn
    .Provider = "SQLOLEDB.1"
    .Properties("Data Source") = "admin"
    .Properties("Initial Catalog") = "kunden"
    .Properties("User ID") = sUserId
    .Properties("Prompt") = promp
    .Open
    End With

    ' UserId für nächsten Programmstart speichern
    SaveSetting App.Title, "Main", "UserId", sUserId
    </pre>

    bei Open kommt ein Fenster und da muss ich server, Login name und passwort eingeben.

    Server bin ich mir unsicher aber passwort und Name sind beide root.
    Hallo Lost-Ha[n]f-PHP,

    .Provider = "SQLOLEDB.1"

    Daraus schließe ich, dass du mit dem MS-SQL-Server auf die DB zugreifen möchtest, das habe ich noch nie gemacht, kann dir dabei also leider auch nicht helfen.

    Ich hoffe mit dem SQL-Server kennt sich jemand im Forum aus.

    Gruß Markus
    Hi,

    Jetzt verwirrt Ihr mich.

    @Lost-Ha[n]f-PHP
    Erst heisst es Du hast einen MySQL Server. Dann bekommst du einen Tip für eine Access DB. Und nun auf einmal MS-SQL ???

    Was möchtest du denn nun eigentlich???


    bei Open kommt ein Fenster und da muss ich server, Login name und passwort eingeben.


    warum dort ein Fehler kommt, dürfte klar sein. Ich glaube kaum, dass du einen MS-SQL Server hast.


    Eine Lösung kann ich dir erst anbieten, wenn du Dich entschieden hast, was du überhaupt willst!!

    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Hallo,

    wieso kann das nicht sein? Ich habe da auch php drauf laufen. Dachte ich

    SQL und Access dehalb, weil ich beides versuch habe.

    Aber noch nichts geklappt hat.

    Es kommt ja keine Fehlermeldung sondern eine anmeldebox.

    das sagt der dann wenn ich als server die mysqld-opt.exe angebe. dass passwort und User falsch sind.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lost-Ha[n]f-PHP“ ()

    Hi,

    Also erstmal sollten wir klarstellen was du für einen SQL Server du hast.

    MySQL und MS-SQL sind zwei völlig verschiedene Dinge.

    MS-SQL: ist von Microsoft, ist sehr kostenintensiv, es wird mind. ein "Windows 2000 Server" (Windows
    2000 prof. od XP reichen nicht aus) benötigt.
    MySQL: ist Freeware (f. priv. Nutzung), läuft sogar auf Windows 98 (empf. W2k/XP), wird oft im Web
    verwendet

    Du versuchst in deinem Bsp den MS-SQL Server anzuspechen.
    Du sagst aber auch du hast PHP drauf. Das deutet nun wieder auf MySQL hin.

    Also was hast du und was möchtest du??

    bye ...

    LaMa5.

    P.S. Wenn du MySQL verwenden willst benötigst du den MyODBC Treiber von der MySQL-Seite!!
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Ich bedanke mch und ich habe einen MySQL server!

    Dann brauche ich den Treiber und die sache laeuft rund?

    _______________________________________

    Habe den Treiber jezt drauf...

    ...aber das problem bleibt:

    Ich habe den Anmelde-Dialog: Kann mich aber nicht anmelden!

    *mist*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lost-Ha[n]f-PHP“ ()

    Hi,

    Okay also MySQL. Aber so einfach Treiber installieren und läuft is nich. In dem Quelltext, den du gepostet
    hast sprichst du ja nach wie vor dem MS-SQL Server an.

    Ich versuche das ganze jetzt mal Step by Step.

    1.) Datenbank anlegen
    - Gehe in das Verzeichnis in dem du mysql installiert hast (Standard: C:\mysql)
    - Wechsle in sUnterverzeichnis \bin
    - starte das Tool mysql.exe
    - in dem Fenster gibts du jetzt ein: CREATE DATABASE dbname
    - (wobei dbname der Name deiner Datenbank ist)

    2.) Datenquelle anlegen
    - Du gehst in der Systemsteuerung auf Datenquellen
    - (bei XP Start - Einstellungen - Systemsteuerung - Verwaltung - Datenquellen
    - dort auf hinzufügen, in der Liste gibts dann "MySQL ODBC ..."
    - dann auf Fertigstellen, dem Kind noch einen Namen geben (z.B. mysql) und auf OK (der Rest wird aus VB gefüllt)
    - alle offenen Fenster schließen

    3.) Visual Basic vorbereiten
    - Du benötigst einen Verweis auf die ADO Bibliotheken
    - Menu: Projekt - Verweise
    - dort suchst du: "Microsoft ActiveX Data Objects 2.7 Library" und hakst es an

    4.) Variablen
    - du benötigst eine Connection: Dim conpubs As New adodb.Connection
    - Über diese Variable werden alle Verbindungen zur DB gesteuert.

    5.) Verbindung herstellen
    - conpubs.ConnectionString = "DSN=mysql; SERVER=host; DATABASE=dbname; UID=username; PWD=passwort")
    - (natürlich alles in einer Zeile)
    - host: IP Adresse deines mysql servers
    - dbname: der name deiner Datenbank (siehe oben)
    - username: dein Nutzername
    - passwort: das zugehörige Passwort
    - Dann noch folgende Zeilen
    - conpubs.CursorLocation = adUseClient
    - conpubs.Open
    - If Err.Number<>0 Then MsgBox "Fehler beim Verbinden"

    6.) Tabellen abfragen
    - Dim rcs As New Recordset
    - die Daten müssen ja irgendwo hin ;)
    - rcs.Open "SELECT * FROM tabelle"
    - Do While Not rcs.EOF
    - (z.B.) MsgBox rcs!testfeld
    - rcs.MoveNext
    - Loop

    Bevor du die Tabellen abfragen kannst, solltest du natürlich welche anlegen. Ich nehme mal an die SQL
    Befehle sind bekannt, da du ja auch mit PHP arbeitest.

    so jetzt erst mal viel Spass beim testen!

    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    THX das ist schonmal super ich kann schon connecten.

    Jetzt wirft der mir aber immernoch den Fehler raus:

    Run-time error '3709':

    The connection cannot be used to perform this operation. It is either closed or invalid in this context.

    --Ende des Felhers--

    Das meldet der in der Zeile

    <pre>
    rcs.Open "SELECT * FROM musik_storer"
    </pre>


    Faellt dir was dazu ein??

    Die Names sind korrekt denke ich. Also ich bin mir sicher!!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lost-Ha[n]f-PHP“ ()

    Hi,

    gibt es die Tabelle musik_storer????

    Poste mal etwas mehr Quelltext (Variablendeklarationen, DB Verbindung, usw.)


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de
    Ja gibt es und hat auch eine Spatle.

    Mein Code:

    <pre>

    Public conpubs As New ADODB.Connection
    Public rcs As New Recordset

    Private Sub Form_Load()

    Me.Show

    conpubs.ConnectionString = "DSN=mysql; SERVER=192.168.100.22; DATABASE=musik_store; UID=root; PWD="
    conpubs.CursorLocation = adUseClient
    conpubs.Open

    If Err.Number <> 0 Then MsgBox "Fehler beim Verbinden"

    rcs.Open "SELECT * FROM musik_storer"

    Do While Not rcs.EOF

    MsgBox rcs!Album_Name

    rcs.MoveNext

    Loop


    </pre>





    AHHH ichhabe es gefunden:

    die zeile funzt mit:

    rcs.Open "SELECT * FROM musik_storer", conpubs

    Trotzdem thx!!!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lost-Ha[n]f-PHP“ ()