Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#中mysql_fetch_assoc的等效命令是什么?_C#_Php_Mysql - Fatal编程技术网

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

c#中mysql_fetch_assoc的等效命令是什么?,c#,php,mysql,C#,Php,Mysql,我非常习惯于php的mysql_fetch_assoc命令在OOP之前获取一行,从而使之前的查询不受欢迎。我现在在一个C#项目上工作,试图学习土地的法律。我可以完成如下基本查询并得到结果……但我想知道是否有更简单的方法?请注意,单击按钮时会发生这种情况 private void button1_Click(object sender, EventArgs e) { string user; string userName = Environment.Use

我非常习惯于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 { }
    }
}
由于PHP中的术语“数组”与C风格语言中的数组有所不同,
即,以字符串作为键的键值集合不是数组,
没有获取关联。
(至少我非常确定MySqlDataReader的bultin方法中没有一个
没有类似的内置类可以生成映射)

如果你的代码有效,为什么不使用它?
将其放入一个返回字典集合的方法中
或者类似的,如果你更喜欢这个

编辑:不要写空的捕获。
DB连接在一百万年内会出现不止一次的错误


编辑2:如果你不再需要它,请再次关闭连接等。

据我所知,大多数C项目都使用MVC模型。有一些“业务对象”为您进行查询,在“视图”代码中,您所做的只是调用业务对象的函数。安装起来比较费时,但如果是一个相当大的项目,从长远来看是值得的