Announcement

Collapse
No announcement yet.

SQL DataReader + allg frage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Ich verzweifel echt daran...könntest du mir vielleicht eine kleine hilfestellung geben..

    lg phillip

    Comment


    • #17
      Könntest du mir vielleicht eine kleine hilfestellung geben..
      An welcher Teilaufgabe
      - Event verdrahten
      - ID ermitteln
      - Delete auf der Datenbank ausführen
      hängst du denn?

      Ich möchte nur ungern etwas vormachen wenn ich nicht das Gefühl habe das mein gegenüber selbst probiert. Also wenn du schon etwas hast das aber aus irgendeinem Grund nicht klappt zeig es uns trotzdem. Dann können wir deinen Wissensstand richtig einschätzen und dich von da aus entsprechend bei der Aufgabenlösung lenken.

      Comment


      • #18
        Habs jetzt mal mit einem sql command probiert...
        müßte ja eigentlich auch gehen...

        Code:
             Dim con As SqlConnection = New SqlConnection("server=blackbox\rootbox;database=rootboxdb;integrated security=true")
                Dim sqlbefehl As String = " DELETE FROM kundendaten WHERE Firma =" & "'" & ListBox1.SelectedItem & "'"
                Dim cmd As SqlCommand = New SqlCommand(sqlbefehl, con)
                con.Open()
                cdo.ExecuteNonQuery()
        naja, leider nein...aber wenn ich den firmenname direkt in den string eintrage, wird dieser auch gelöscht...vermute das "ListBox1.SelectedItem" nicht den string des eintrags entählt..

        so habe bemerkt, dass ich etwas vergessen habe.
        so funktioniert es jetzt....lösche anhand der "firma" den eintrag

        Code:
                Dim dele As String = ListBox1.Text
                Dim con As SqlConnection = New SqlConnection("server=blackbox\rootbox;database=rootboxdb;integrated security=true")
                Dim sqlbefehl As String = " DELETE FROM kundendaten WHERE Firma =" & "'" & dele & "'"
        
                Dim cmd As SqlCommand = New SqlCommand(sqlbefehl, con)
                con.Open()
                cmd.ExecuteNonQuery()
        ps ist im Button_click ereignis
        Zuletzt editiert von BurnOut; 14.01.2010, 23:23.

        Comment


        • #19
          SelectedItem wird, da du ja eine DataTable gebunden hast, eine DataRowView enthalten. Deinen Firmennamen String müßtest du also noch aus der DataRowView extrahieren. Was für ein Typ wirklich in SelectedItem steckt solltest du aber schon beim debuggen oder über entsprechende Fehlermeldungen des Programms herausgefunden haben. Du bist doch des Debuggens mächtig oder? Wenn nicht sollte das als nächstes angegangen werden. Ist zum verstehen immens wichtig.

          [Highlight=VB.NET]
          Dim row As DataRowView = Directcast(ListBox1.SelectedItem,DataRowView)
          Dim firmenname As string = row("MeinFirmennamenSpaltenname")

          Dim sqlbefehl As String = " DELETE FROM kundendaten WHERE Firma =" & "'" & firmenname & "'"[/Highlight]

          Code ohne Gewähr kenne mich besser in C# aus die Idee sollte aber klar sein. Wenn das dann funktioniert solltest du das SqlCommand noch so umbauen das dein Firmenname, wie von Robert gezeigt, über einen Parameter in das SQL Kommando eingebaut wird.

          Comment


          • #20
            ah verstehe...vielen dank schon mal...
            aber mit meinem oben genannten source geht es auch...wo liegt der nachteil daran, dass ich es ohne row mache ?

            Comment


            • #21
              Dein Code funktioniert weil der in der Liste angezeigte Wert auch der Schlüssel ist für deine nachfolgende SQL Abfrage. Das ist eigentlich selten der Fall. Ich wage zu behaupten fast immer nur bei schlechtem Datenbankdesign . Normalerweise zeigt man einen (für den User verständlichen) Text an und braucht dann im folgenden eine irgendwie geartete (für den Computer optimierte) Id zum weiterarbeiten.

              Comment


              • #22
                vielen dank für die klasse antworten ...wirklich!
                Was mich noch interessieren würde, ob es möglich ist, eine abfrage einer spalte in einer textbox darzustellen ?

                liebe grüße phillip

                wenn ich z.b eine Textbox multiline habe und schreibe einen 10 zeilen langen text, würde ich diesen gerne in der tabelle in einer spalte mit nvarchar(MAX) abspeicher...ist das möglich ?
                Zuletzt editiert von BurnOut; 15.01.2010, 01:38.

                Comment


                • #23
                  wenn ich z.b eine Textbox multiline habe und schreibe einen 10 zeilen langen text, würde ich diesen gerne in der tabelle in einer spalte mit nvarchar(MAX) abspeicher...ist das möglich ?
                  Ja. Ob Zeilenumbruch oder nicht macht normalerweise keinen Unterschied.

                  Comment

                  Working...
                  X