locked
עזרה עם SQL paramter RRS feed

  • שאלה

  • שלום,

    אני רוצה לבצע שימוש ב sql עם פרמטרים, עכשיו הגדרתי פרמטר, כאשר הייתי צריך לעשות WHERE עם הפרמטר עשיתי את זה באופן הבא וזה פעל בצורה טובה.

        If DropDownList2.SelectedItem.ToString <> " הכל" Then
                    Dim par1 As New SqlParameter("CityT", DropDownList2.SelectedItem.ToString)
                    objDA.SelectCommand.Parameters.Add(par1)
                    Str += " and (Tcity= @CityT or Fcity= @CityT) "
                End If

    עכשיו כאשר אני רוצה לבצע LIKE לפרמטר בצורה הבאה זה מביא לי הודעת שגיאה,

        If txtTo.Text <> "" Then
                    Dim par2 As New SqlParameter("CityF", txtTo.Text)
                    objDA.SelectCommand.Parameters.Add(par2)
                    Str += " and (Fcity LIKE '%" & @CityF & "%' )"
                End If

    מישהו יכול להסביר לי מדוע.

    יום שני 05 מרץ 2012 15:14

תשובות

  • היי רוני, הסיבה היא פשוטה, אתה צריך לכתוב ככה:

    cmd.CommandText = "select * from providers where name like '%' + @name + '%'"

    (תעתיק את השורה ל - notepad, ותיישר אותה לשמאל)
    יום שני 05 מרץ 2012 19:24
    מנחה דיון

כל התגובות

  • היי רוני, הסיבה היא פשוטה, אתה צריך לכתוב ככה:

    cmd.CommandText = "select * from providers where name like '%' + @name + '%'"

    (תעתיק את השורה ל - notepad, ותיישר אותה לשמאל)
    יום שני 05 מרץ 2012 19:24
    מנחה דיון
  • היי רוני

    כאשר אתה קורא לפרמטר אז הוא צריך להיות בשאילטה כטקסט ולא כשירשור

    מכיוון ש VB לא יודע מה זה המשתנה @CityF

    ו @CityF הוא משתנה של SQL

    If txtTo.Text <> "" Then Dim par2 As New SqlParameter("CityF", txtTo.Text) objDA.SelectCommand.Parameters.Add("%" & par2 & "%") Str += " and (Fcity LIKE @CityF )" End If

    יום שלישי 06 מרץ 2012 11:46