datenbank probleme

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von patrick.m.

    datenbank probleme

    hallo zusammen habe da ein Problem ich habe mir ein Login Programm Programmiert mit basic und Sql Datenbank auf meinem Rechner läuft alles aber auf anderen nicht kann mir jemand witerhelfen habe es auch mit mysql versucht läuft überhaupt nicht
    Dateien
    • 123.txt

      (1,13 kB, 115 mal heruntergeladen, zuletzt: )
    ok hier was vom code


    Imports System.Data
    Imports System.Data.SqlClient

    Public Class frmAnmelden
    Dim conn As SqlConnection
    Private Sub btnAddUser_Click(sender As System.Object, e As System.EventArgs) Handles btnAddUser.Click

    conn = New SqlConnection("server= SQl Server PA-PC 12.0.2269; Database=dbBenutzer; trusted_Connection=True;")
    conn.Open()

    Dim cmd As SqlCommand = conn.CreateCommand

    cmd.CommandText = String.Format("INSERT INTO [Table_1] (Vorname, Nachname, Email, Benutzername, Passwort)" &
    "VALUES('{0}','{1}', '{2}', '{3}', '{4}')",
    txbVorname.Text,
    txbNachname.Text,
    txbEmail.Text,
    txbBenutzernameAnmelden.Text

    Dim rowsAffected As Integer = cmd.ExecuteNonQuery()

    If rowsAffected > 0 Then
    MsgBox("Fertig")
    Else
    MsgBox(" Fehler")

    End If
    conn.Close()
    End Sub

    End Class

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „patrick.m“ ()

    Damit die anderen hier mitarbeiten können und wollen, hier der Code um den es geht:

    VB.NET-Quellcode

    1. Imports System.Data
    2. Imports System.Data.SqlClient
    3. Public Class frmAnmelden
    4. Dim conn As SqlConnection
    5. Private Sub btnAddUser_Click(sender As System.Object, e As System.EventArgs) Handles btnAddUser.Click
    6. conn = New SqlConnection("server= pattyxenia.lima-db.de; Database=dbBenutzer; trusted_Connection=True;")
    7. conn.Open()
    8. conn = New SqlConnection("server= SQl Server PA-PC 12.0.2269; Database=dbBenutzer; trusted_Connection=True;")
    9. conn.Open()
    10. Dim cmd As SqlCommand = conn.CreateCommand
    11. 'cmd.CommandText = String.Format("INSERT INTO Table_dbBenutzer (Vorname, Nachname, Email, Benutzername, Passwort)" &
    12. '"VALUES('{0}','{1}', '{2}', '{3}', '{4}')",
    13. 'txbVorname.Text,
    14. 'txbNachname.Text,
    15. 'txbEmail.Text,
    16. 'txbBenutzernameAnmelden.Text,
    17. 'txbPasswortAnmelden.Text,
    18. Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
    19. If rowsAffected > 0 Then
    20. MsgBox("Fertig")
    21. Else
    22. MsgBox(" Fehler")
    23. End If
    24. conn.Close()
    25. End Sub
    26. End Class


    So...
    1. Damit du Daten in eine Datenbank speichern kannst, muss diese auch auf dem System vorhanden sein. Beim Setup von VS wird praktischerweise ein SQL Server Express mitinstalliert. Mindestens dies müsstest du auch auf den Rechnern der User installieren, was ein ziemlich hoher Aufwand für "reine" Anwender ist.
    2. Wenn du mit dem Code versucht hast auf MySQL zuzugreifen, konnte es nur schief gehen. System.Data.SqlClient ist speziell auf den Zugriff auf SQL Server zugeschnitten. Um auf MySQL zuzugreifen benötigst du das hier: dev.mysql.com/downloads/connector/net/ Lässt sich nach der installation über die Referenzen einbinden. BEachte jedoch, dass der Connection-String völlig anders ist. connectionstrings.com/
    3. Muss es wirklich eine DB sein? Würde nicht zum Beispiel ein DataSet genügen, dass später mit nur einem Befehl in eine XML gespeichert und wieder geladen wird? Alternativ könnte ich noch SQLite anbieten: system.data.sqlite.org/index.h…/trunk/www/downloads.wiki Eine Dateibasierte Datenbank, die keine installation benötigt.
    4. Ist deine Abfrage Anfällig für SQLInjection. Mit DbParameter zu arbeiten schützt dich vor solchen Angriffen.

    patrick.m schrieb:

    wenn es anders geht muss es keine db sein leider bin ich noch nicht so lange am programmieren
    es sollen sich ja user registrieren und einloggen können
    Hmm... das wirft wiederum einige Fragen auf. Aber erstens ist ein Login, der heutigen Sicherheitsstandards entspricht, keine Sache die ein Anfänger angehen sollte, da es selbst "profis" immer wieder hinbekommen einen Login zur Sicherheitslücke zu machen. Doch zunächst mal ein paar Fragen:
    Was hast du vor?
    Was soll dein Programm können?
    Wo liegt die Datenbank?

    Edit:
    @patrick.m was ich nur sehr empfehlen kann, ist dich durch diesen Post zu arbeiten:
    Excel Daten aufrufen und in VB übertragen sowie ändern.
    Hierbei wirst du nach und nach auf das Arbeiten mit Datenbanken vorbereitet, ohne tatsächlich mit Datenbanken zu arbeiten.
    facebook.com/patrick.p.moleman/videos/1236797113078831/das Programm soll soll User registrieren und damit auch ein Login möglich machen

    1 Datenbank habe ich mit sql server gemacht geht warscheinlich aber nur local deswegeb nicht auf anderen Rechnern eine 2 Datenbank habe ich bei lima-city mysql damit bekomme ich es aber garnicht zum laufen

    alles andere was ich vorhabe bekomme ich hin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „patrick.m“ ()

    Der SQL-Server ist auf PC A installiert (dort geht alles), auf PC B kommst du aber nicht am die DB?
    -> Firewall
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen

    patrick.m schrieb:

    bei lima-city mysql
    Das ist der nächste Punkt. Du greifst Quer durchs Internet auf eine Datenbank zu, und um darauf zugreifen zu können, müsstest du die Zugangsdaten im Programm hinterlegen, was in .NET eine der schlechtesten Ideen überhaupt ist. Früher oder später denke ich, wird jemand diese Daten finden, und genügend kriminelle Energie haben, um dir dort mal ordentlich schaden anzurichten.
    Als nächstes Vermute ich, dass die MySQL Datenbank dort so konfiguriert ist, dass du standardmäßig nicht von Außen darauf zugreifen kannst. Und das ist auch gut so. Du brauchst noch irgendetwas zwischen deiner Anwendung und der Datenbank, z.B. ein PHP Script, ein WCF-Dienst (falls dort ein IIS ist) oder eine ASP.NET Seite (ebenfalls IIS afaik). Diese können dann mit MySQL kommunizieren, und die Daten gesichert (HTTPS) an deine Anwendung weitergeben.

    Doch eine meiner Fragen hast du noch nicht beantwortet, nichtmal mit deinem Video, da ich die Pixel an 2 Händen abzählen konnte:
    Was macht dein Programm, und wofür einen Login?
    Ist dir eigentlich die Tragweite deines Projektes bewusst?
    Du hast hier nicht nur noch nen ziemlich gewaltigen Berg an Programmieraufgaben/-problemen vor dir, sondern auch nen gewaltigen rechtlichen Berg, wenn du

    patrick.m schrieb:

    eine Ein&Auszahlung
    in deinem Projekt haben möchtest. Ebenso noch die Regelungen zu Datenschutz und Datensicherheit.
    Die Themen die du dafür beherrschen musst sind vielseitig, vielschichtig, und insgesamt nicht in unter einem Jahr intensivem Programmierens zu erlernen. Darüber hinaus wirst du vermutlich nicht nur eine, sondern mehrere Sprachen beherrschen müssen, da du ja u.U. noch PHP benötigst, sowie noch eine für ein Setup deiner wahl (PascalScript im falle von InnoSetup).

    Oder aber du kannst dir alles im Internet zusammenklauben, irgendwie funktionstüchtig machen, und innerhalb von nem Monat dann was am laufen haben. Wie viel du dabei aber gelernt hast, ist äußerst fraglich.
    so habe das alles hinbekommen jetzt hänge ich schon wieder seit zwei tagen fest

    und zwar habe ich in meiner tabelle eine spalte namens punkte jetzt möchte ich wenn in der spalte zb 1 oder 12 unsw
    steht das in meiner vb form der button1 visible = true ist wie lautet denn die abfrage