überprüfen ob schon etwas in die datenbank eingetragen wurde

  • VB.NET

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von muecke3.16.

    überprüfen ob schon etwas in die datenbank eingetragen wurde

    hey, ich habe folgendes Problem.

    Ich bin gerade dabei ein Programm in VB zu programmieren und da möchte ich eine Art registry am Anfang starten lassen, wo die Benutzer Ihren Namen und ein Passwort und noch viele andere Sachen eingeben müssen. Diese Datein werden dann in Access gespeichert. Aber wenn dies geschehen ist, möchte ich nicht, dass beim nächsten Start des Programms diese registry wieder kommt. Also möchte ich ganz am Anfang abfragen, ob schon etwas in der Datenbank steht, allerdings weiss ich nicht wie ich das am besten machen könnte. Hat vielleicht jemand von euch eine Idee? Ich wäre wirklich dankbar.

    Gruß ItRun
    ich würds so machen machen:
    verbindung zur db herstellen....
    dann mit select eine Spalte auslesen
    das ganze einer Variablen übergeben
    und dann:

    SQL-Abfrage

    1. if variablexy.tostring = "" then
    2. "registrieren überspringen"
    3. else
    4. "registrieren"
    5. end if

    Eisfuchs schrieb:

    ich würds so machen machen:
    verbindung zur db herstellen....
    dann mit select eine Spalte auslesen
    das ganze einer Variablen übergeben
    und dann:

    SQL-Abfrage

    1. if variablexy.tostring = "" then
    2. "registrieren überspringen"
    3. else
    4. "registrieren"
    5. end if
    hey danke für deine antwort, das mit dem if block wusste ich schon, aber wie geht das mit dem select befehl das kann ich nicht, verbindung zur datenbank ist hergestellt meine datenbank ist access...
    select * from TABELLENNAME where SPALTE = FOLGENDE EIGENSCHAFT BESITZT order by SPALTE DIE SORTIERT SEIN SOLL



    Bsp.:

    VB.NET-Quellcode

    1. Dim rstBenutzer As String = select rstBenutzer from tblBenutzer
    2. Dim rstPasswort As String = select rstPasswort from tblBenutzer
    3. If rstBenutzer = txtBenutzer.Text Then
    4. If rstPasswort = txtPasswort.Text Then
    5. Form2.Show
    6. Else
    7. MsgBox "Bitte Passwort auf die korrekte Eingabe überrpüfen"
    8. End If
    9. Else
    10. MsgBox "Bitte den Benutzer auf die korrekte Eingabe überprüfen"
    11. End If


    So hätte ich das gelöst

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „powerprogger“ ()

    nee hatte sich noch nit gelöst war nur aus beruflichen gründen weg...mhm

    meine datenbank heisst access und der name der datei ist registry, die tabelle heisst tabelle1 und die spalte heisst benutzername

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

    hey also mein code zum abfragen sieht jtz so aus aber der meint dann bei dem wort "select" das da der ausdruck fehlen würde

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. Dim Gemacht As String = select * from Tabelle1
    3. If Gemacht < " " Then Form9.Show()
    4. End Sub
    du hast auch noch keine Eigenschaft abgefragt... du sagst hier lediglich:
    SUCH MIR alles AUS tabelle1 HER

    um nun zu sagen was er suchen soll aus dieser Tabele musst du sagen:
    WHERE Benutzer = "schlagmichtod"

    SELECT * FROM tabelle1 WHERE benutzername = "Variable, in welche der Inhalt einer bspw. Textbox steht"
    SUCH MIR alles AUS tabelle1 HER WAS DEN benutzrname = "Variable, in welche der Inhalt einer Textbox steht" BEINHALTET

    EDIT: ggf. musst du den SQL-String in Klammer setzen ("SQL-String")



    MfG

    pp
    mhm ich habe mal deinen geposteten quellcode ausprobiert und nachgebaut und da will er bei select auch einen ausdruck haben habs genauso nachgebaut:

    VB.NET-Quellcode

    1. Dim rstBenutzer As String = Select rstBenutzer from tblBenutzer
    2. Dim rstPasswort As String = Select rstPasswort from tblBenutzer
    3. If rstBenutzer = txtBenutzer.Text Then
    4. If rstPasswort = txtPasswort.Text Then
    5. Form2.Show
    6. Else
    7. MsgBox "Bitte Passwort auf die korrekte Eingabe überrpüfen"
    8. End If
    9. Else
    10. MsgBox "Bitte den Benutzer auf die korrekte Eingabe überprüfen"
    11. End If



    hatte das auch mit dem where ausprobiert aber dann wollte er einen ausdruck für das * haben



    so sieht das jtz bei mir aus

    VB.NET-Quellcode

    1. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. If Select * from Tabelle1 where Benutzername < " " then Form9.Show
    3. End Sub

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

    ITrun90 schrieb:

    mhm ich habe mal deinen geposteten quellcode ausprobiert und nachgebaut und da will er bei select auch einen ausdruck haben habs genauso nachgebaut:

    VB.NET-Quellcode

    1. Dim rstBenutzer As String = Select rstBenutzer from tblBenutzer
    2. Dim rstPasswort As String = Select rstPasswort from tblBenutzer
    3. If rstBenutzer = txtBenutzer.Text Then
    4. If rstPasswort = txtPasswort.Text Then
    5. Form2.Show
    6. Else
    7. MsgBox "Bitte Passwort auf die korrekte Eingabe überprüfen"
    8. End If
    9. Else
    10. MsgBox "Bitte den Benutzer auf die korrekte Eingabe überprüfen"
    11. End If



    du hast auch vergessen dem SQL-String zu sagen was du von Ihm willst...

    VB.NET-Quellcode

    1. benutzer = txtBenutzer.Text
    2. passwort = txtPasswort.Text
    3. Dim rstBenutzer As String = Select rstBenutzer from tblBenutzer where rstbenutzer = "benutzer"
    4. Dim rstPasswort As String = Select rstPasswort from tblBenutzer where rstbenutzer = "passwort"
    5. If rstBenutzer = txtBenutzer.Text Then
    6. If rstPasswort = txtPasswort.Text Then
    7. Form2.Show
    8. Else
    9. MsgBox "Bitte Passwort auf die korrekte Eingabe überprüfen"
    10. End If
    11. Else
    12. MsgBox "Bitte den Benutzer auf die korrekte Eingabe überprüfen"
    13. End If
    du hast zwei Textboxen:
    txtBenutzer.Text & txtPasswort.Text

    Jetzt schreibst du den Inhalt der Textboxen in eine Variable
    Benutzer = txtBenutzer.Text
    Passwort = txtPasswort.text

    und mit dem was bei 'where' in den Anführungszeichen steht, suchst du in der Datenbank, dh. du suchst nach Benutzername und vergleichst dann mit ner If-Anweisung ob das Eingegebene Passwort, bzw. den angegebenem Variableninhalt zum gefragten Benutzer passt oder nicht
    schau mal hier:

    VB.NET-Quellcode

    1. Dim conn As New System.Data.OleDb.OleDbConnection
    2. conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Prad\Datenbank.mdb;Jet OLEDB:Database Password=" + Passwort
    3. conn.Open()
    4. 'SQL Befehl für das Auslesen
    5. Dim sql = "select" & rstBenutzer & "from tblBenutzer"
    6. Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(sql, conn)
    7. Dim dr As OleDb.OleDbDataReader
    8. dr = cmd.ExecuteReader(CommandBehavior.CloseConnection)
    9. While dr.Read()
    10. 'Deine Anweisungen um zb ein Datagridview zu befüllen.
    11. End While
    12. conn.Close()
    ahhh jtz verstehe ich auch warum das nicht klappt wir beide rede an einander vorbei..ich möchte nichts vergleichen, sondern nur überprüfen ob überhaupt irgendwas in der datenbank steht ich möchte genau wissen ob in der spalte Benutzername überhaupt schon ein wert drin steht welcher wert ist egal
    ja kannste ja so machen. gibste im selectteil die spalte an die du haben willst, bzw bei dir Benutzer
    und gibst alle benutzer irgendwo aus, dann siehst du wer eingetragen ist, oder überhaupt jemand eingetragen ist.
    ansonsten kannst du auch auf IS NULL überprüfen.
    boah das ist echt kompliziert weil egal wie ich es mache er will von mir immer für select einen ausdruck noch ein letzter versuch:

    mein vb version 2008 express
    meine datenbank access das neuste
    der name meiner access datei Register
    die tabelle in der datenbank Tabelle1
    die spalte heisst Benutzername

    kann mir vielleicht jemand von euch eben den code einbauen ich möchte folgendes:

    WENN benutzername größer als nichts dann form9 nicht aufrufen else form 9 aufrufen

    ansonsten werde ich es anders mit hilfe einer textdatei lösen