首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

小弟我的存储过程加入注释就出现Parameter '?/*' not found in the collection异常该怎么处理

2012-02-24 
我的存储过程加入注释就出现Parameter ?/* not found in the collection错误该怎么办?//下面是我的存储

我的存储过程加入注释就出现Parameter '?/*' not found in the collection错误该怎么办?
//下面是我的存储过程,我call过存储过程了,是没有问题的.
CREATE DEFINER=`root`@`localhost` PROCEDURE `P_SearchWordNote`(/*2007 11 19 查询留言信息*/
in WordIDint,
in BegTimevarchar(20),
in EndTimevarchar(20)
)
Begin
/*declare WordIDint;
declare BegTimevarchar(20);
declare EndTimevarchar(20);*/
declare BegDate datetime;
declare EndDatedatetime;
if( BegTime = "0" or BegTime = "") then
set BegDate = DATE_ADD(current_Date(),interval -10 year);
else
set BegDate = CAST( BegTime as datetime );
end if;
if( EndTime = "0" or EndTime = "") then
set EndDate = CURRENT_DATE();
else
set EndDate = cast( EndTime as datetime );
End if;
if( WordID > 0) then
update BaySpeed.KF_WordNote set WN_SeeOk = 1 where WN_ID = WordID;
select * from BaySpeed.KF_WordNote where WN_ID = WordID;
else
select * from BaySpeed.P_WordListView where (WN_AddTime >= BegDate) and ( WN_AddTime <= EndDate );
End if;
END$$

//下面是.net中调用的代码
 sqlConn.Open();
  MySqlCommand myComm = new MySqlCommand("P_SearchWordNote", sqlConn);
  myComm.CommandType = CommandType.StoredProcedure;
  myComm.Connection = sqlConn;
  myComm.CommandText = "P_SearchWordNote";
  MySqlParameter P1 = new MySqlParameter("?WordID", MySqlDbType.Int32);
  P1.Value = WordID;
  P1.Direction = ParameterDirection.Input;
  myComm.Parameters.Add(P1);
  //myComm.Parameters.Add(new MySqlParameter("WordID", WordID));
  //myComm.Parameters.Add(new MySqlParameter("BegTime", BegTime));
  //myComm.Parameters.Add(new MySqlParameter("EndTime", EndTime));
  MySqlParameter P2 = new MySqlParameter("?BegTime", MySqlDbType.VarChar, 20);
  P2.Value = BegTime;
  P2.Direction = ParameterDirection.Input;
  myComm.Parameters.Add(P2);
  MySqlParameter P3 = new MySqlParameter("?EndTime", MySqlDbType.VarChar, 20);
  P3.Value = EndTime;
  P3.Direction = ParameterDirection.Input;
  myComm.Parameters.Add(P3);
  MySqlDataAdapter adapter = new MySqlDataAdapter();
  DataSet ds = new DataSet();
  adapter.SelectCommand = myComm;
  adapter.Fill(ds);
  sqlConn.Close();
  return ds;
//运行后就出现这个错误了(万分感激,如果去掉注释就没有问题了)
Parameter '?/*' not found in the collection


[解决办法]
注释位置不对。


/* 2007 11 19 查询留言信息 */ 

放在CREATE 的前一行试试。
[解决办法]

SQL code
delimiter ||CREATE   DEFINER=`root`@`localhost`   PROCEDURE   `P_SearchWordNote`( /* 2007   11   19     查询留言信息 */in   WordID int,in   BegTime varchar(20),in   EndTime varchar(20))Begin/*declare     WordID int;declare   BegTime varchar(20);declare   EndTime varchar(20);*/declare     BegDate   datetime;declare     EndDate datetime;if   BegTime   =   "0"   or   BegTime   =   ""  thenset   BegDate   =   DATE_ADD(current_Date(),interval   -10   year);elseset   BegDate   =   CAST(   BegTime   as   datetime   );end   if;if   EndTime   =   "0"   or   EndTime   =   ""   thenset   EndDate   =   CURRENT_DATE();elseset   EndDate   =   cast(   EndTime   as   datetime   );End   if;if  WordID   >   0   thenupdate   BaySpeed.KF_WordNote   set   WN_SeeOk   =   1   where   WN_ID   =   WordID;select   *   from   BaySpeed.KF_WordNote   where   WN_ID   =   WordID;elseselect   *   from   BaySpeed.P_WordListView   where   (WN_AddTime   >=   BegDate)   and   (   WN_AddTime   <=   EndDate   );End   if;END||delimiter ; 

热点排行