小编Fra*_*ank的帖子

使用C#查询MySQL的更有效方法是什么?

基于StackOverflow站点周围的链接(下面的参考资料),我提出了这个代码块来执行从我的C#应用​​程序到MySQL数据库的查询.

using (var dbConn = new MySqlConnection(config.DatabaseConnection))
{
    using (var cmd = dbConn.CreateCommand())
    {
        dbConn.Open();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "SELECT version() as Version";

        using (IDataReader reader = cmd.ExecuteReader())
        {
            if (reader.Read())
            {
                Console.WriteLine("Database Version: " + reader.GetString(reader.GetOrdinal("Version")));
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,每次我要进行一组查询时,我必须构建这个庞大的代码块,因为我不会(也不应该)在应用程序的生命周期中保持连接打开.

是否有更有效的方法来构建支持结构(嵌套usings,打开连接等),而是传递我的连接字符串和我想要运行的查询并获得结果?

参考问题:

这是我看过的三个.还有一些,但我的Google-fu现在无法重新启动它们.所有这些都为如何执行单个查询提供了答案.我想执行单独的业务逻辑查询 - 其中一些重复 - 并且不想重复不需要的代码.

我尝试过:基于nawfal的评论,我有以下两种方法:

private MySqlDataReader RunSqlQuery(string query)
{
    Dictionary<string, string> queryParms = new Dictionary<string, string>();
    MySqlDataReader QueryResult = RunSqlQuery(query, queryParms);
    return QueryResult;
}

private MySqlDataReader …
Run Code Online (Sandbox Code Playgroud)

c# mysql datareader mysqldatareader

6
推荐指数
1
解决办法
2252
查看次数

标签 统计

c# ×1

datareader ×1

mysql ×1

mysqldatareader ×1