c# – MySql.Data.MySqlClient.MySqlException(0x80004005):SEL
我正在使用Dapper来调用
MySql存储过程.该过程执行得很好,但在此之后代码抛出异常.有问题的代码块是这样的:
using (var conn = DataFactory.InitializeConnection(false)) { conn.Query("ProcedureName",new { puserid = ID },commandType: System.Data.CommandType.StoredProcedure); } DataFactory是以下静态类: public static class DataFactory { public static IDbConnection InitializeConnection(bool open = true,string connectionstring = "",string databaseServerType = "MYSQL") { if (string.Equals(databaseServerType,"MYSQL")) { if (string.IsNullOrEmpty(connectionstring)) connectionstring = Settings.Default.DataConnectionString; var csb = new MySql.Data.MySqlClient.MySqlConnectionStringBuilder(connectionstring); var conn = new MySql.Data.MySqlClient.MySqlConnection(csb.ConnectionString); Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true; if (open) conn.Open(); return conn; } throw new NotImplementedException("Not implemented for your database provider"); } } 我的数据库中没有bogus_table,它显示在错误消息中:
解决方法
这可能是
Mysql Driver实施中的问题;这里是提到
bogus_table的代码块.
如果你的过程有空结果,尝试用Execute调用(因为它实现了内部执行非查询)而不是Query. using (var conn = DataFactory.InitializeConnection(false)) { conn.Execute("ProcedureName",commandType: System.Data.CommandType.StoredProcedure); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |