积极答复者
如何在参数化查询中使用通配符和top函数

问题
-
老师您好,我在使用参数化查询的sql语句时总是出错,我实在找不出原因了,请看一下:
string strSql = "select top @topN * from NewsTitle where Title like %@NewsTitle%";
SqlParameter[] parms=new SqlParameter[]{new SqlParameter("@topN",SqlDbType.int,4),new SqlParameter(
"@NewsTitle",SqlDbType.NVarChar,100)};
parms[0].Value=10;
parms[1].Value="传记";
……
错误提示为@NewsTitle附近有语法错误
答案
-
你好!TOP 不能这么用你可以使用 String.Fromat 如:String strSql = String.Format("select top {0} * from NewsTitle where Title like %@NewsTitle%", 10);SqlCommand comm = new SqlCommand(strSql);comm.Parameters.AddWithValue("@NewsTitle", "传记");......
知识改变命运,奋斗成就人生!- 已标记为答案 飞羽 2009年10月10日 2:39
全部回复
-
你好!TOP 不能这么用你可以使用 String.Fromat 如:String strSql = String.Format("select top {0} * from NewsTitle where Title like %@NewsTitle%", 10);SqlCommand comm = new SqlCommand(strSql);comm.Parameters.AddWithValue("@NewsTitle", "传记");......
知识改变命运,奋斗成就人生!- 已标记为答案 飞羽 2009年10月10日 2:39
-
你好!你使用 SQL SERVER 的事件探查器(SQL 2000)或 SQL Server Profiler(SQL 2005以上)去跟踪你使用参数执行的语句,你会发现所有语句最终会通过 sp_executesql 这个存储过程执行,关于这个存储过程的优点你可以通过下面的地址获取
知识改变命运,奋斗成就人生!