首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

sp_executesql 实施报错

2011-12-22 
sp_executesql 执行报错stringsqlN selectp_cid, +p_bmasterfromt_person+wherep_cid@p_cidstrin

sp_executesql 执行报错
string   sql   =   "   N 'select   p_cid, "   +
                        "p_bmaster   from   t_person   "   +
                        "   where   p_cid=@p_cid '     ";
                string   para   =   "   N '@p_cid   varchar(40) '   ";
                string   condition   = "   @p_cid= '0102 ' ";
SqlParameter   par1   =   new   SqlParameter( "@stmt ",   sql);
                SqlParameter   par2   =   new   SqlParameter( "@params ",   para);
                SqlParameter   par3   =   new   SqlParameter( "@param1 ",   condition);
                SqlParameter[]   pars   =   {   par1,   par2,par3   };
ExecuteSqlDtr(CommandType.StoredProcedure,   "sp_executesql ",   pars);
ExecuteSqlDtr为一个执行sql的函数,总是报@p_cid   varchar(40)语法错误

[解决办法]
SQL参数名用:@p_cid别用变量了。
[解决办法]
直接使用

ExecuteSqlDtr(CommandType.Text, sql, new SqlParamater( "@p_cid ", "0102 "));

不就行了迈?

SQL SErver 引擎自己调用 sp_executeSql
[解决办法]
楼主,我觉得你这段代码根本没必要用sp_ExecuteSql,就用普通的参数执行就可以了

热点排行