一个存储过程在sql server里就对的,在asp.net一调用就出错。
exec (' select distinct ringID,ringName,type,category,singer from ring_Moto where singer like ''%'+@singer+'%'' ')
错误:like附近有语法错误。晕啊~
问题点数:20、回复次数:5Top
1 楼wys512()回复于 2004-11-02 10:05:17 得分 10
你确认在sql server里面也象你调用时那样传递的参数???然后你执行存储过程是否真正成功???
应该不可能有你说的那么稀奇,肯定是你自己的问题Top
2 楼kbkingbird(丁翊)回复于 2004-11-02 10:09:04 得分 0
你是怎样调用的啊?Top
3 楼jeanso(轩辕剑)回复于 2004-11-02 10:24:40 得分 0
CREATE PROCEDURE sms_SelRingBySinger
(@singer varchar(20),@brand varchar(20))
AS
exec (' select distinct ringID,ringName,type,category,singer,hit from '+@brand+'where singer like ''%'+@singer+'%'' ')
GO
调用:
public SqlDataReader GetRingBySinger(string myBrand,string mySinger)
{
SqlConnection myConnection = new SqlConnection(ConnStr);
SqlCommand myCommand = new SqlCommand("sms_SelRingBySinger", myConnection);
myCommand.CommandType = CommandType.StoredProcedure;
SqlParameter brand = new SqlParameter("@brand",SqlDbType.VarChar,20);
brand.Value = myBrand;
myCommand.Parameters.Add(brand);
SqlParameter singer = new SqlParameter("@singer",SqlDbType.VarChar,20);
singer.Value = mySinger;
myCommand.Parameters.Add(singer);
myConnection.Open();
SqlDataReader result = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
return result;
}Top
4 楼davidposeidon(Swimming In IT——接分啦~ 搂主给点分~)回复于 2004-11-02 10:40:43 得分 10
应该是你SQL语句的问题
....
as
select distinct ringID,ringName,type,category,singer from ring_Moto
where singer like '%'+@singer+'%'
goTop
5 楼jeanso(轩辕剑)回复于 2004-11-02 11:02:15 得分 0
exec (' select distinct ringID,ringName,type,category,singer,hit from '+@brand+' where singer like ''%'+@singer+'%'' ')Top




