使用SqlDataSource
时,就是这样:
SqlDataSource1.SelectCommand = "SELECT field,field FROM TABLE WHERE name LIKE @name"
SqlDataSource1.SelectParameters.Clear()
SqlDataSource1.SelectParameters.Add( _
New Parameter("name", DbType.String, "%" + TextBox1.Text + "%"))
但如果我尝试:
command.Parameters.Add( _
New Parameter("name", SqlDbType.VarChar, "%" + TextBox1.Text + "%"))
或
command.Parameters.Add(New Parameter("name", DbType.String, "%" + TextBox1.Text + "%"))
失败了。如何使用SqlCommand
?
答案 0 :(得分:3)
尝试构建您的sql语句,如下所示:
SELECT field,field FROM TABLE WHERE name LIKE N'%' + @name + N'%'
导致VB看起来像这样:
SqlDataSource1.SelectCommand = "SELECT field,field FROM TABLE WHERE name LIKE N'%' + @name + N'%'"
SqlDataSource1.SelectParameters.Clear()
SqlDataSource1.SelectParameters.Add("@Name", SqlDbType.NVarChar, 50).Value = TextBox1.Text
答案 1 :(得分:1)
尝试以其他方式添加参数
Command.Parameters.Add("@Name", SqlDbType.VarChar).Value = "%" & TextBox1.Text & "%"
此外,为了避免任何问题,请尝试使用& 代替 + 。并不是说我可以确定%被认为是一个数字或心律失常的情况,但似乎可以解释为Here,