我使用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.Data.MySqlClient.MySqlStream.ReadPacket() (0x80004005):选择拒绝用户'XXX'@'YYY‘的命令,用于MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow的表'bogus_table',MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId的Int64 64& insertedId),(布尔力)( MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior行为)在MySql.Data.MySqlClient.MySqlDataReader.ClearKillFlag() at MySql.Data.MySqlClient.MySqlDataReader.Close() at MySql.Data.MySqlClient.MySqlDataReader.Dispose(Boolean处理) 在MySql.Data.MySqlClient.MySqlDataReader.Dispose() at Dapper.SqlMapper.d__136
1.<>m__Finally1() at Dapper.SqlMapper.<QueryImpl>d__1361.MoveNext()
发布于 2018-05-18 09:10:21
发布于 2022-09-17 15:05:28
我遇到了类似于“bogus_table”的问题,它确实来自于MySql代码!
MySql.Data.MySqlClient.MySqlException: 'Table 'myspector.bogus_table' doesn't exist'您可能处于调试模式,启用了所有异常。当此异常引发时,请取消选中“抛出此异常时的中断”,如下所示:

然后,重新启动/继续,您将看到这个异常是由堆栈中的另一个异常处理程序捕获的:它是将转换成一个经典的InvalidOperationException。
{"Sequence contains no elements"} System.Exception {System.InvalidOperationException}https://stackoverflow.com/questions/50407365
复制相似问题