c# - 如何从数据库中读取值并将其返回到消息框中
问题描述
我是 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());
}
}
解决方案
我会做一些不同的事情,但这段代码看起来至少可以正常工作,而且只有三种可能的结果:
- 抛出异常,在这种情况下,您会看到带有异常消息的 MessageBox。
- 它按预期运行,在这种情况下,您会看到每一行都有一个 MessageBox,即使该行中的字符串值为空或 NULL。
- 它运行正确,但没有行匹配查询(第一次调用
reader.Read()
返回false
)。
只有其中一种情况根本不显示任何 MessageBox。你确定有一行匹配那个 SQLWHERE
条件吗?
嗯……一天后,我意识到还有第四种可能性。如果这是一个 ASP.Net 网页,您看不到MessageBox
窗口。他们坐在一个隐藏的桌面上,阻塞了线程。
推荐阅读
- reactjs - 当我在 CMD 窗口中编写 npx create-react-app-my-app 时出现错误。我已经安装了 Node.js:C:\Users\dev>node --version v15.4.0****
- ionic-framework - 如何在 android studio 模拟器上运行基于 ionic 开发的应用程序
- lua - 罗技 G-Hub 的最新更新中缺少数学库
- javascript - 无法使用vue和moment将参数传递给茉莉花中的按钮方法
- reactjs - 在 React 中使用 this.setState 时遇到“错误:Material-UI:capitalize(string) 需要一个字符串参数”
- android - Dagger2 - 多模块 - 组件中存在具有匹配键的绑定
- node.js - Firebase CLI 部署错误:“部署到 Node.js 10 以下的运行时现在在 Firebase CLI 中被禁用。”
- python - 卷曲请求有效,但在 python-requests 上失败
- amazon-web-services - AWS EC2 Route 53 域错误暂时不可用
- sql - R闪亮的SQL数据库 - 反应式过滤 - 最佳实践?