【发布时间】:2011-03-28 11:57:22
【问题描述】:
我的 sql 查询有问题。通过查询,我尝试使用 SQL LIKE 命令在数据库中搜索列中出现的任何字符串(可以是任何内容)。问题是它适用于大多数字符串说 john, jim, ji"m ,但是当我包含以下字符时不起作用,它们是( ' , { , } 和单引号)。MYSQL 查询需要每当用户输入它们时,通过将它们放在 [] 块中来处理这些特殊情况。
但是当我在 VB.NET 中使用 GetSelectCommand() 查询数据库时出现以下错误
异常详情:
System.ApplicationException:
数量 提供的值必须等于 查询中的占位符数。
我已经一遍又一遍地检查了查询..但它很好。
我的数据库服务器是 Sql Server 2008。
所以我的应用程序在这个命令中抛出了异常:
Using reader As MustDisposeDataReader = _
pmSystem.DatabaseManager.GetSelectCommand(selectStatementBuilder.ToString(), New Object() {})
其中MustDisposeDataReader 是内部开发库中类的实例,它继承自System.Object。 pmSystem 是类PlanManagerSystem 的一个实例,它实现了命令层。 GetSelectCommand() 接受选择命令
【问题讨论】:
-
请发布您的VB调用代码。问题可能出在某个地方。
-
VB、SQL 和 LIKE 确实是一件非常棘手的事情。语法显然必须是完美的。我指出这一点是因为我们习惯于在幕后为我们做很多事情,而不是这种组合。如前所述,您必须显示代码才能到达任何地方。
-
它是 microsoft sql server management studio 2008
-
所以我的应用程序在这个命令中抛出异常... 使用阅读器 As MustDisposeDataReader=pmSystem.DatabaseManager.GetSelectCommand(selectStatementBuilder.ToString, New Object() {}) 其中 MustDisposeDataReader 是类的对象内部开发的库.. MustDisposeDataReader 类继承 System.object pmsystem 是 PlanManagerSystem 类的对象,它实现了命令层 GetSelectCommand() 接受选择命令
-
我们还需要查看正在使用的 SQL =)
标签: mysql sql-server vb.net