c#中mysql_fetch_assoc的等效命令是什么?

时间:2014-02-11 20:52:54

标签: c# php mysql

我非常习惯于使用php的mysql_fetch_assoc命令在OOP之前获取单行,因为之前的查询已弃用。我现在正在研究一个C#项目,并且在查询时正试图了解这片土地的规律。我可以完成如下的基本查询并获得结果......但我想知道是否有更简单的方法?请注意,单击按钮时会发生这种情况。

private void button1_Click(object sender, EventArgs e)
    {
        string user;
        string userName = Environment.UserName;
        MySqlConnection conn = Connect.Initialize();
        conn.Open();

        string stm = "SELECT user_id from users where login = '" + userName + "'";
        MySqlCommand cmd = new MySqlCommand(stm, conn);
        try
        {

            MySqlDataReader sqlReader = cmd.ExecuteReader();
            while (sqlReader.Read())
            {
                user = sqlReader.GetString(0);
                System.Windows.Forms.MessageBox.Show(user);
            }
        }
        catch { }
    }
}

1 个答案:

答案 0 :(得分:1)

由于PHP中的术语“数组”和C风格的语言中的数组不同,所以 即。使用字符串作为键的键值集合不是数组,
没有fetch_assoc (至少我很确定没有MySqlDataReader的bultin方法 没有类似的内置类可以生成地图)。

如果您的代码有效,为何不使用它? 把它放在一个返回字典集合的方法中 或类似的东西,如果你更喜欢这个。

编辑:不要写空的捕获者 数据库连接在百万年中会出现多次错误。

edit2:如果您不再需要它,请再次关闭连接等。