vb.net - 如何将 "%"作为参数的一部分传递给 SqlCommand?

标签 vb.net parameter-passing sqlcommand

当使用 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 实现?

最佳答案

尝试像这样构造你的 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

关于vb.net - 如何将 "%"作为参数的一部分传递给 SqlCommand?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18769655/

相关文章:

mysql - SQL *= 语句(外连接)

c# - 参数索引器的实际使用

javascript - 将 JavaScript 变量传递给 Rails Controller

c# - 在 using() 语句中使用之前声明的 SqlConnection() 完成后是否仍会关闭连接? (C#/SQL 服务器)

C# SQLCommand - 参数化查询被缩短

c# - Lookup() 和 Dictionary(Of list()) 之间的区别

c++ - 标准键盘驱动程序源代码 - 我在哪里可以找到它?

asp.net - asp 下拉列表 - 将数字 1-15 添加到列表中

r - 使用match.call将所有参数传递给其他函数

.net - SqlCommand.Clone() 是创建深拷贝还是浅拷贝?