Anfänger: Wie DB updaten - In SettingsRow befindet sich keine Zeile

  • VB.NET

Es gibt 13 Antworten in diesem Thema. Der letzte Beitrag () ist von Trigoor.

    Anfänger: Wie DB updaten - In SettingsRow befindet sich keine Zeile

    Hallo liebe Datenbankexperten,

    mal wieder eine Anfängerfrage. :S

    Ich würde gerne eine aus einer Tabelle die ich in VB erstellt habe die DB updaten.
    Ich habe folgendes probiert:

    VB.NET-Quellcode

    1. ' Fall 1:
    2. ' Diese 2 Zeilen Code klappen
    3. Dim rwSetting1 = DsSettings.SETTINGS(0)
    4. Dim b1 As Boolean = rwSetting1.RbtCC
    5. ' Fall 2:
    6. ' Auskommentiert weil:
    7. ' Exception. Detail: "An der Position 0 befindet sich keine Zeile."
    8. ' Dim rwSetting2 = DsCC1.TABELLE(0)
    9. ' Fall3:
    10. ' Auskommentiert. Das Update klappt leider auch nicht.
    11. ' Exception. Detaill: "Der Index war außerhalb des Arraybereichs."
    12. Dim dt As DataTable = DsCC1.TABELLE()
    13. Dim dr As DataRow() = dt.Select()
    14. 'dr.SetValue("String", 0)


    Also, es klappt ja noch nicht einmal in Fall 2 auf die Daten zuzugreifen. Wie stelle ich dann ein Update an?

    Falls mir jemand einen Tipp geben könnte, wäre ich heilfroh.

    Vielen Dank im Vorraus!

    Viele Grüße
    Trigoor

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

    In dem Code bist du komplett auf dem falschen weg.

    Hier im Forum gibt es ein Tutorial dafür das du nur ein wenig umbasteln musst.
    Such einfach mal im Tutorial bereich nach "Datenbank Grundlagen" oder so ähnlich heißt das

    Hallo Patrick.

    also ich habe mal nach "Grundlagen Datenbanken" gesucht.
    Habe aber nix gefunden mit dem ich was anfangen kann.

    Außerdem habe ich ja ein bisschen Ahnung von SQL.
    Habe schon mit MySQL, HSQLDB und Access-Datenbanken meine Erfahrungen gemacht.

    Aber das habe ich alles in Java gemacht.

    Und ich kenne mich auch mit sowas wie SELECT, UPDATE, DELETE, ALTER und so weiter aus.

    Nur bin ich halt ein absoluter Anfänger was das Thema ADO.NET betrifft...leider.

    Viele Grüße
    Trigoor
    Hast du auch wirklich und richtig gesucht ??

    Hier ist das Tutorial

    Musst es nur umschreiben sprich anpassen

    ich empfehleja "Datenbank in 10 Minuten" auf Movie-Tuts als Einstieg in ADO.Net.

    Grundsätzlich muß man sich eine Strategie ausdenken, wie man Primärschlüssel erzeugt: Serverseitig oder Clientseitig?
    Clientseitig ist einfacher zu implementieren, aber für MultiUser-Zugriffe muß man System.Guid als Datentyp der Primkeys verwenden, und der ist langsamer im Zugriff und braucht mehr Platz als Integer.

    also og. tut zeigt Clientseitig Primkey-Generierung, hingegen ist Autowerte inserten eine Serverseitige Lösung.
    Hallo..,

    @Patrick
    Aha, nicht schlecht. Das hatte ich nicht gefunden.
    Nur mit den Klassen...

    OleDb.OleDbConnection
    OleDb.OleDbCommand
    OleDb.OleDbDataReader

    kann man ja was anfangen. Nur die ganze Connection zur Datenbank werden ja automtsch von .NET gesetzt.
    Aber ich werde es mal ausprobieren. Vielleicht klappt es ja.
    Toll wäre es, wenn man über das DataSet die ganzen Aktionen zur DB erledigen könnte.

    @ErfinderDesRades
    Aha..das Video kannte ich nocht nicht. Werde es mir mal zu Gemüte ziehen.

    EDIT: Also "00BeforeStart.html" kann ich abrufen. Und das Filmchen geht auch bis zum Ende. Aber bei den anderen Files tut sich nix. Auch kein "weiter-Button"???

    @all:
    Habe es aus Versehen aus den "erledigt"-Button gedrückt. Ich Volldepp. Das Thema ist aber leider nicht erledigt. Kann man das rückgängig machen? Sonst mache ich in so einer Stunde einen neuen Thread auf.

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

    Aha, nicht schlecht. Das hatte ich nicht gefunden.
    Nur mit den Klassen...


    OleDb.OleDbCommand
    OleDb.OleDbDataReader

    kann man ja was anfangen. Nur die ganze Connection zur Datenbank werden ja automtsch von .NET gesetzt.
    Aber ich werde es mal ausprobieren. Vielleicht klappt es ja.
    Toll wäre es, wenn man über das DataSet die ganzen Aktionen zur DB erledigen könnte.


    Die Klassen musst du umbenennen z.b.
    OleDb.OleDbCommand
    in

    VB.NET-Quellcode

    1. Dim cmd AS New MySqlCommand

    Hallo...,

    @Patrick:
    Als DBMS benutze ich MS SQL Server 2008.
    Aber den Rat habe ich beherzigt

    Habe folgendes probiert (Probleme stehen in den Kommentarzeilen):

    VB.NET-Quellcode

    1. ' Wo kommeich an den Connection-String? Bei Datenquelle hinzufügen wird ja alles automatisch hinzugefügt.
    2. Dim con As SqlConnection = New SqlConnection(strCon)
    3. Dim cmd As DbCommand = New SqlCommand("SELECT * FROM kto WHERE blz = '60090800' ")
    4. ' Und wie geht es weiter?


    Was toll wäre, wenn man direkt über das Dataset zugreifen könnte.
    Zum Beispiel so:

    VB.NET-Quellcode

    1. DsCC.KTO.Select("Konto")

    Aber wie kriegt man da eine WHERE-Anweisung hinein?

    Ach, mein größtes Problem habe ich ja behoben, weswegen ich ja eigentlich den Thread gestartet habe.
    Mit fehlten einfach Instanzen der Klassen TableAdapter, DataBindingSource...usw.

    EDIT:
    Habe folgendes versucht.
    Leider gibt es eine Exception. Detail:{"Syntaxfehler: Fehlender Operand nach dem Operator 'WHERE'."}

    VB.NET-Quellcode

    1. DsCC.KTO.Select("idKonto WHERE BLZ = 24070075")

    Der Operator ist doch das "="-Zeichen, oder irre ich mich da?

    Gruß
    Trigoor

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

    Trigoor schrieb:

    EDIT: Also "00BeforeStart.html" kann ich abrufen. Und das Filmchen geht auch bis zum Ende. Aber bei den anderen Files tut sich nix. Auch kein "weiter-Button"???

    k.A. beimir funzt jedes html-file.
    Und im Main.doc habich sogar ein inhaltsverzeichnis, wo ich die filme als kapitel ansprechen kann.

    Da wird halt auch das mit TableAdapter und BindingSources gezeigt.
    Hallo ErfinderDesRades,

    gut, dann werde ich mir das mal zu Hause reinziehen. Scheint ja ganz gut zu sein. Habe zwar leider noch nicht viel gesehen, aber es sieht verheissungsvoll aus. :)

    EDIT: Ach, man kann mit den Pfeiltasten zwischen den Sequenzen navigieren...na sowas...jetzt klappt es auch bei mir. :)

    EDIT 2: Nicht schlecht das Tutorial. Da lernt man einiges. Habe aber leider ein Spezialproblem. Es handelt sich um ein BasisTrueDBGrid. Kann es auch zur Tabelle machen, aber wie kriegt man die Überschrift fett, und wie zum Beipspiel baut man eine Spalte ein, die Checkboxen enthält?

    Gruß
    Trigoor

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Trigoor“ ()

    ich würd die Finger von Komponenten dritter lassen.

    Jedenfalls so lange, bis du dir sicher bist, dasss du dir selbst helfen kannst, und dass du Bugs der Komponente von eigenen Fehlern unterscheiden kannst.

    Weil ich jedenfalls kenne das BasisTrueDBGrid nicht, und kann da nicht helfen. Und gut möglich, dass auf VBP kein einziger das kennt.
    Aber vlt. gibts da ja ein BasisTrueDBGrid-Forum auf der Hersteller-Site, und wenn dein Englisch gut genug ist...
    Hallo..,

    nun ja, dieses Grid ist von ComponentOne. Im Internet findet man kaum etwas drüber. Und ob die hier eine Doku haben...keine Ahnung.
    Soll das Grid halt benutzen. Sieht halt stylisch aus. ;)

    Komme auch mittlerweile damit einigermaßen klar...

    Gruß
    Trigoor

    EDIT: Okay, es gibt eine 380 Seiten lange Doku auf der Herstellerseite. Da steht auch einiges, aber leider kommt es doch noch ab und zu zu manchen Problemen.

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