Announcement

Collapse
No announcement yet.

@Parameter funktioniert nicht?

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

  • @Parameter funktioniert nicht?

    Hallo

    habe eine Frage zu einem Parameter eines SqlCommand:

    Code:
    	string strParam = InputBox.Text;
    	sql_Cmd	= new SqlCommand("", sql_Con);
    	sql_Cmd.CommandText = "SELECT * FROM TABELLE WHERE (FLDXXX = @P1)";
    	sql_Cmd.Parameters.AddWithValue("@P1", strParam);
    Ich bekomme kein Ergebnis. Wenn ich den Parameter direkt angebe,
    dann funktioniert es. So kann ich es aber natürlich nicht gebrauchen.
    Kann mir hier mal jemand einen Tipp geben, was ich da falsch mache?

    Danke und Gruß

  • #2
    Hallo,

    Verwendest du vielleicht Anfuehrungszeichen (doppelte oder einfache) ein deinem Parameterwert (strParam)?
    *-- robert.oh. --*

    Comment


    • #3
      Originally posted by robert.oh. View Post
      Hallo,

      Verwendest du vielleicht Anfuehrungszeichen (doppelte oder einfache) ein deinem Parameterwert (strParam)?

      Nein. Habe ich aber ausprobiert. Geht weder mit einfachen noch mit doppelten Anführungszeichen. Und ohne alles geht auch nicht. Mit einem Integer-Wert geht es ohne Probleme, nur mit Strings klappt es nicht.

      Gruß

      Comment


      • #4
        Originally posted by robert.oh. View Post
        Hallo,

        Verwendest du vielleicht Anfuehrungszeichen (doppelte oder einfache) ein deinem Parameterwert (strParam)?
        Hallo, ich hab's.

        Code:
        SqlParameter param = sql_Cmd.Parameters.Add("@P1", SqlDbType.NVarChar, 16);
        param.Value = strParam;
        So funktioniert es tadellos.
        Scheint so, als ob AddWithValue den erforderlichen Datentyp doch nicht immer korrekt ermittelt. Hat da jemand eine Erklärung für?

        Ergänzung: Es funktioniert doch nur eingeschränkt.
        D.h. wenn ich einen string in meine Textbox eingebe ( mit und ohne Leerzeichen ) liefert die Abfrage KEIN Ergebnis. Gebe ich einen Integer ein kriege ich auch kein Resultat ( logisch, ist ja auch keiner in der Auswahlspalte) Wenn ich danach den gleichen String wie vor dem Int eingebe, funktioniert es plötzlich?
        Es ist auch egal, welche Methode ich zur Parameterübergabe verwende, es tritt bei beiben derselbe komische Effekt auf.
        Ich bin verwirrt ...

        Gruß
        Zuletzt editiert von hjg; 12.07.2007, 15:52.

        Comment

        Working...
        X