MySQL选择结果保存到c#变量中

时间:2015-03-15 15:52:00

标签: c# mysql

请检查我的代码并回答我如何将mysql选择结果保存到c#字符串中?

try
{
    MySqlDataReader reader = null;
    string selectCmd = "SELECT * FROM  TabelaUtilizatori";
    MySqlCommand cmd = new MySqlCommand(selectCmd, _dbConnect.getConnection());
    string result = cmd.ExecuteScalar().ToString();
    label2.Text = result;
}
catch (Exception ex) {
    MessageBox.Show(ex.Message);
}

或者也许这样?

            using (_dbConnect.getConnection())
             {
            MySqlCommand command = new MySqlCommand(
                  "SELECT NAME FROM TABELAUTILIZATORI WHERE EMAIL = 'asdjaa@asdka.com'"        
              _dbConnect.getConnection());


            MySqlDataReader reader = command.ExecuteReader();


                while (reader.Read())
                {
                 label2.Text=
                }

            reader.Close();
        }

非常感谢!

2 个答案:

答案 0 :(得分:0)

你必须使用不同的api。 ExecuteReader在这里更合适,它允许您遍历所有结果。 可以在这里找到一个例子:

https://msdn.microsoft.com/en-us/library/haa3afyz%28v=vs.110%29.aspx

请注意,没有单一结果,有多列和多条记录,因此这些不适合单个字符串。 除非你想要像select count(*)

这样的东西

另请注意,拥有此类代码并不是一种好习惯 select * from ...最好指定你真正需要的列。如果数据模型发生变化,您的应用程序将不太可能中断。

另请阅读有关在查询中使用参数的信息:

http://www.csharp-station.com/Tutorial/AdoDotNet/lesson06

答案 1 :(得分:0)

是的,您可以使用ExecuteReader()进行此操作..

        try
        {
            MySqlDataReader reader = null;
            string selectCmd = "SELECT * FROM  TabelaUtilizatori";

            MySqlCommand command = new MySqlCommand(selectCmd, _dbConnect.getConnection());
            reader = command.ExecuteReader();

            while (reader.Read())
            {
                string ColumnName = (string)reader["ColumnName"];
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }