所以我试图将新记录添加到SQL数据库中。 MySQL数据库服务器正在XAMPP上运行,我已将用户名配置为root用户和要测试的密码。我已经尝试过本地主机'和' 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();
}
答案 0 :(得分:0)
如果db用户和密码正确,那么请使用
之类的连接字符串connectionString = @"server=" + server + ";userid=" + uid + ";password="
+ password + ";database=" + database;
如果您的mysql端口不像3306
那样默认,那么您可以指定自定义端口号
connectionString = @"server=" + server + ";port=" + port + ";userid=" + uid + ";password="
+ password + ";database=" + database;