【发布时间】:2017-04-23 06:00:36
【问题描述】:
所以我正在尝试向 SQL 数据库添加一条新记录。 MySQL 数据库服务器在 XAMPP 上运行,我已将用户名配置为 root,密码配置为 test。我已经尝试将 'localhost' 和 '127.0.0.1' 作为服务器地址,但它们都不起作用。 这是使用:
using System;
using System.Data;
using Gtk;
using MySql.Data;
using MySql.Data.MySqlClient;
单击按钮时,它捕获异常并显示错误消息,但我无法弄清楚与服务器的连接失败的原因。
protected void OnAddItemClicked(object sender, EventArgs e)
{
MySqlConnection connection;
string server = "localhost";
string database = "shop";
string uid = "root";
string password = "test";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
try
{
connection.Open();
if (connection.State == ConnectionState.Open)
{
MySqlCommand cmd = new MySqlCommand("INSERT INTO items (ItemName,Price,PriceVAT) values(@ItemName,@Price,@PriceVAT", connection);
cmd.Parameters.Add("@ItemName", nameEntry.Text);
cmd.Parameters.Add("@Price", priceEntry.Text);
cmd.Parameters.Add("@PriceVAT", "1");
cmd.ExecuteNonQuery();
MessageDialog md = new MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "Data entered successfully.");
md.Run();
md.Destroy();
}
else
{
MessageDialog md = new MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "Database connection failed.");
md.Run();
md.Destroy();
}
}
catch (Exception ex)
{
MessageDialog md = new MessageDialog(null, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, "Error occurred, please try again later");
md.Run();
md.Destroy();
}
connection.Close();
}
【问题讨论】:
-
有什么异常?
-
displays an error message那条消息是什么 -
我不确定,如果我在没有 try-catch 的情况下运行它,那么当我按下按钮时,GUI 就会关闭,没有任何异常。