dragon012100 2014-02-11 20:52
浏览 52
已采纳

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

I was very used to php's mysql_fetch_assoc command to acquire a single row prior to OOP making previous querying deprecated. I am now working on a C# project and am trying to learn the law of the land when it comes to querying. I can accomplish a basic query like the following and get a result...but I want to know if there is an easier method? Notice that this occurs when a button is clicked.

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条回答 默认 最新

  • duanmiao6695 2014-02-11 21:01
    关注

    As the term "array" in PHP and an array in C-style languages are something different,
    ie. a key-value-collection with strings as keys isn´t an array,
    there is no fetch_assoc.
    (At least i am pretty sure none of the bultin methods of MySqlDataReader
    and no similar builtin class can generate maps).

    If your code works, why don´t use it?
    Put it in a method which returns a Dictionary collection
    or something similar, if you like this more.

    edit: Don´t write empty catch´es.
    DB connections are something which will go wrong more than one time in million years.

    edit2: Close the connction etc. again if you don´t need it anymore.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能