首页 > 解决方案 > 如何从数据库中读取值并将其返回到消息框中

问题描述

我是 C# 编码的新手,我试图在我的数据库中返回 app_text 的 idoptions 1,但是当我单击按钮时没有任何反应。

我试过解决这个问题,但我不能

private void conexion()
        {



            connectionString = String.Format("server=a;port=a;user id=a; password=a; database=aa; SslMode=none", server, port, user, password, database, sslM);
            MySqlConnection connection = new MySqlConnection(connectionString);


            try
            {
                MySqlCommand command = new MySqlCommand("SELECT app_text FROM options WHERE idoptions=1", connection);
                MySqlDataReader reader;


                connection.Open();
                reader = command.ExecuteReader();



                while (reader.Read())
                {
                   MessageBox.Show(reader["app_text"].ToString());
                }

                connection.Close();
            }

            catch (MySqlException ex)
            {
                MessageBox.Show(ex.ToString());
            }






        }

标签: c#mysql

解决方案


我会做一些不同的事情,但这段代码看起来至少可以正常工作,而且只有三种可能的结果:

  1. 抛出异常,在这种情况下,您会看到带有异常消息的 MessageBox。
  2. 它按预期运行,在这种情况下,您会看到每一行都有一个 MessageBox,即使该行中的字符串值为空或 NULL。
  3. 它运行正确,但没有行匹配查询(第一次调用reader.Read()返回false)。

只有其中一种情况根本不显示任何 MessageBox。你确定有一行匹配那个 SQLWHERE条件吗?


嗯……一天后,我意识到还有第四种可能性。如果这是一个 ASP.Net 网页,您看不到MessageBox窗口。他们坐在一个隐藏的桌面上,阻塞了线程。


推荐阅读