新手求救:mysql存储过程cannot be found in database asp.net调用mysql存储过程的时候,提示:Procedure or function '`proc_LockItem`' cannot be found in database '`memcache`',请问各位大虾是否有碰到过???但是调用proc_Add存储过程又可以执行!被mySql搞死了,两天都没有找出原因! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 提示没有找到数据库,配置文件config数据库连接字符串是否正确。 提示没有找到数据库,配置文件config数据库连接字符串是否正确。 谢谢wwwwb及 梦醒十分 的提醒,我的代码如下:public bool LockItem(string strSessionId, string strApplicationName, int iLockId) { MySqlConnection objConn = GetConnection(); MySqlCommand objComm = GetCommand("proc_LockItem", objConn); objComm.Parameters.Add(GetParameter("?_SessionId", strSessionId, MySqlDbType.VarChar, false)); objComm.Parameters.Add(GetParameter("?_ApplicationName", strApplicationName, MySqlDbType.VarChar, false)); objComm.Parameters.Add(GetParameter("?_LockId", iLockId, MySqlDbType.Int16, false)); objComm.ExecuteNonQuery(); return (objComm.ExecuteNonQuery() > 0); }private MySqlConnection GetConnection() { return _objConn = new MySqlConnection(strConn);; } private static MySqlCommand GetCommand(string strComm, MySqlConnection objConn) { if (objConn.State != ConnectionState.Open) { objConn.Open(); } return new MySqlCommand(strComm, objConn) { CommandType = CommandType.StoredProcedure }; }连接字符串配置如下:<add name="MySqlDB" connectionString="server=192.168.1.56;port=3306;uid=root;pwd=123456;DataBase=memcache;charset=utf8;allow zero datetime=true;" providerName="MySql.Data.MySqlClient"/>感觉太奇怪了,proc_Add存储过程可以被执行,proc_LockItem就总是提示:Cannot be found!还请大虾指点!mysql的版本:5.5.11-log 你确定 数据库 memcache中有 proc_LockItem 存储过程? 肯定有,下面是存储过程的代码:CREATE DEFINER=`root`@`%` PROCEDURE `proc_LockItem`( _SessionId varchar(80), _ApplicationName varchar(255), _LockId int)BEGIN UPDATE tblsessions SET LockId = _LockId, Flags = 0 WHERE SessionId = _SessionId AND ApplicationName = _ApplicationName;END 在MYSQL 命令行下use memcache;call `proc_LockItem`(你的参数)结果如何 你的代码是怎么调用`proc_LockItem`的 先 use memcache; 一下在你的代码中。 我的代码在上面已经贴出来了!不过自己搞定了,重新下了个高版本的mysql.data.dll就搞定了!唉,搞不懂mysql的东西怎么这样!还是谢谢wwwwb大虾!结贴喽! MySQL多进程? 请大家谈谈近义词数据表的设计方案 初学者请教!!! 收藏 中文用户名登陆有误,字符编码问题,怎么弄? 出鬼了~~~~~ 去掉了LIMIT 0 ,1 就可以了,为什么一次非得不能有LIMIT 0, 1? mysql问题 如何拆分一个字符串 如果用PHP将EXCEL文件导入MYSQL中...求助@_@ 招聘JSP+Postgresql程序员,上海吉彦信息技术有限公司 C连MYSQL数据库遇到的link问题(内详) 谢谢解答 我了个去、安装postgresql出错。事件查看器报如下错误。求解。 不同版本的mysql对内存 cpu 以及 单个的表的限制值
public bool LockItem(string strSessionId, string strApplicationName, int iLockId)
{
MySqlConnection objConn = GetConnection();
MySqlCommand objComm = GetCommand("proc_LockItem", objConn);
objComm.Parameters.Add(GetParameter("?_SessionId", strSessionId, MySqlDbType.VarChar, false));
objComm.Parameters.Add(GetParameter("?_ApplicationName", strApplicationName, MySqlDbType.VarChar, false));
objComm.Parameters.Add(GetParameter("?_LockId", iLockId, MySqlDbType.Int16, false));
objComm.ExecuteNonQuery();
return (objComm.ExecuteNonQuery() > 0);
}private MySqlConnection GetConnection()
{
return _objConn = new MySqlConnection(strConn);;
} private static MySqlCommand GetCommand(string strComm, MySqlConnection objConn)
{
if (objConn.State != ConnectionState.Open)
{
objConn.Open();
} return new MySqlCommand(strComm, objConn) { CommandType = CommandType.StoredProcedure };
}连接字符串配置如下:
<add name="MySqlDB" connectionString="server=192.168.1.56;port=3306;uid=root;pwd=123456;DataBase=memcache;charset=utf8;allow zero datetime=true;" providerName="MySql.Data.MySqlClient"/>感觉太奇怪了,proc_Add存储过程可以被执行,proc_LockItem就总是提示:Cannot be found!还请大虾指点!
mysql的版本:5.5.11-log
CREATE DEFINER=`root`@`%` PROCEDURE `proc_LockItem`( _SessionId varchar(80),
_ApplicationName varchar(255),
_LockId int
)
BEGIN
UPDATE tblsessions
SET LockId = _LockId, Flags = 0
WHERE SessionId = _SessionId AND ApplicationName = _ApplicationName;
END
use memcache;
call `proc_LockItem`(你的参数)结果如何
唉,搞不懂mysql的东西怎么这样!还是谢谢wwwwb大虾!结贴喽!