Announcement

Collapse
No announcement yet.

VB.NET 2008 + MSDE2000 Abfrage mit Textbox und Platzhalter

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

  • VB.NET 2008 + MSDE2000 Abfrage mit Textbox und Platzhalter

    Moin zusammen...

    Habe da ein Problem... Ich kann nicht programmieren. Nicht wirklich. Habe vor 4 Wochen ungefähr VB.NET 2008 geschenkt bekommen und auch die ersten "Hello Kitty ;-)" programme erfolgreich geschrieben. Nun wollte ich mich an eine Kundenkartei machen. Dafür habe ich einen MSDE 2000 SQL installiert und eine Datenbank mit dem SQL Managment Studio erstellt. Das hinzufügen von Datensätzen klappt wunderbar. Aber dann wollte ich mir noch eine Form kreieren mit der ich bestimmte Kunden suchen kann. Da habe ich noch ein kleines Problem mit der Abfrage.
    Ich will den Kundennamen in eine Textbox eingeben und dann auch Suchen klicken. da soll er mir dann in einem datagridview anzeigen welche der Datensätze unter Name mit dem eingegebenen Begriff BEGINNEN (!!!). Leider klappt das ganze nur, wenn ich den Kompletten Namen eingebe. Hier mal meine Abfrage...

    SELECT KunNr, KunFirma, KunName, KunVorname, KunStr, KunPLZ, KunOrt, KunTel, KunFax, KunEMail, KunWWW, KunGebDatum, KunGebOrt, KunKntinst, KunKntnr, KunKntblz, KunBemerk
    FROM tabKun
    WHERE (KunName LIKE @TextBox)

    nachdem ich die WHERE klausel hinzugefügt habe (mit dem Designer) hat er mir auch eine Textbox und einen Button in die Form eingefügt. klappt wunderbar. nur wie muss ich jetzt die WHERE klausel ändern, dass er auch werte findet, die mit dem Inhalt der Textbox beginnen??? unter Access war das

    Wie "*" & [Formulare]![f_Main]![f_Artikelstamm].[Form]![Text16] & "*" (als Beispiel)

    klappt aber nicht...

    BITTE HELFEN!!!

    Danke im vorraus,

    Olli

  • #2
    Hallo und willkommen,

    du nimmst dir ja ganz schön was vor: mit dem 27. Lernschritt anfangen... Aber in diesem Fall kann dir schnell geholfen werden:

    In der folgenden Zeile wird ein Parameter für die SQL-Abfrage festgelegt:
    Code:
    WHERE (KunName LIKE @TextBox)
    Dieser muss auch benutzt werden; das geschieht durch einen Befehl ähnlich wie diesen:
    Code:
    cmd.Parameters.AddWithValue("@TextBox", MyTextBox.Text + "%")
    Dieser Befehl ist vermutlich in einer TableAdapter.Designer.vb zu finden. Da du dort nichts herumfummeln sollst, ist es vorerst besser, das "%" direkt in der TextBox einzugeben.

    Beachte vor allem, dass der Parametername (der mit dem "@") mit dem Namen deiner TextBox nichts zu tun hat - überhaupt nichts! - und dass der Wert nicht der Name der TextBox, sondern der Inhalt ist, nämlich der Wert der Text-Eigenschaft.

    Wenn dir diese Antworten noch nicht helfen, dann zitiere bitte allen Code, der die Verbindung zwischen TextBox und einem SqlCommand darstellen.

    Zur Einführung verweise ich dich auf openbook visualbasic_2008 Kap. 23 ff.

    Außerdem solltest du Code künftig als solchen markieren, vorzugsweise so, wie in dem obersten Beitrag von gfoidl erläutert, ersatzweise mit dem #-Button. Und Sätze mit Großbuchstaben und 3 Ausrufezeichen werden als "Anschreien" und damit als grobe Unhöflichkeit verstanden. Wer höflich und sinnvoll fragt, kriegt auf jeden Fall Antwort.

    Gruß und viel Erfolg! Jürgen

    Comment


    • #3
      Jürgen, vieeeeelen Dank...

      Das Buch kannte ich noch gar nicht. Auch dafür vielen Dank.

      Habs allerdings wieder mit dem Designer gemacht. musste nur die " durch ' ersetzen. Jetzt klappts Hurra!!! Dankeschön

      Schönes WE,

      Olli

      Comment

      Working...
      X