我们对MySQL数据库插入存在疑问。 我们安装了.NET连接器,并将MySql.Data.dll,MySql.Web.dll,MySql.Entity.dll添加到/ bin。如下面的代码所示,我们也使用正确的命名空间。 但是,当我们尝试通过网站插入数据时,不会插入任何内容。 数据库连接的详细信息由webhotel提供。 域位置:http://testing.cce-solutions.dk/testBooking/is/interested/
C#代码:
protected void Button1_Click(object sender, EventArgs e)
{
MySql.Data.MySqlClient.MySqlConnection connection;
string server = "db.cce-solutions.dk";
string database = "web626445";
string uid = "******";
string password = "******";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
try
{
connection.ConnectionString = connectionString;
connection.Open();
MySqlCommand cmd = new MySqlCommand("insert into web626445 (yourName,YourEmail,YourPhone,Category,Description) values(@Name,@Email,@Telephone,@Category,@Description)", connection);
cmd.Parameters.AddWithValue("@Name", YourName.Text);
cmd.Parameters.AddWithValue("@Email", YourEmail.Text);
cmd.Parameters.AddWithValue("@Telephone", YourPhone.Text);
cmd.Parameters.AddWithValue("@Category", Category.SelectedItem.Value);
cmd.Parameters.AddWithValue("@Description", Description.Text);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
DisplayMessage.Text = "Error occured. Please try again later.";
}
connection.Close();
}}
修改 首先,感谢所有答案! 所以我们已经实现了Rahul和ActiveHigh的答案并更新了代码。此外,我们添加了一种检查连接是否成功的方法。现在,当我们尝试插入数据时,我们会收到错误消息。测试位置仍然相同。 以下是数据库中表格的图像:https://www.dropbox.com/s/g2c70ty9qb1h7bw/ScreenshotDatabase.png 任何人都知道出了什么问题或想法如何调试它?
protected void Button1_Click(object sender, EventArgs e)
{
MySql.Data.MySqlClient.MySqlConnection connection;
string server = "db.cce-solutions.dk";
string database = "web626445";
string uid = "******";
string password = "******";
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
connection = new MySqlConnection(connectionString);
try
{
connection.Open();
if (connection.State == ConnectionState.Open)
{
DisplayMessage.Text = "Data entered succesfully.";
MySqlCommand cmd = new MySqlCommand("insert into Booking (yourName,YourEmail,YourPhone,Category,Date,Description) values(@Name,@Email,@Telephone,@Category,@Date,@Description)", connection);
cmd.Parameters.AddWithValue("@Name", YourName.Text);
cmd.Parameters.AddWithValue("@Email", YourEmail.Text);
cmd.Parameters.AddWithValue("@Telephone", YourPhone.Text);
cmd.Parameters.AddWithValue("@Category", Category.SelectedItem.Value);
cmd.Parameters.AddWithValue("@Date", "test");
cmd.Parameters.AddWithValue("@Description", Description.Text);
cmd.ExecuteNonQuery();
}
else
{
DisplayMessage.Text = "Database connection failed.";
}
}
catch (Exception ex)
{
DisplayMessage.Text = "Error occured. Please try again later.";
}
connection.Close();
答案 0 :(得分:1)
您正在使用insert statement-
中的数据库名称...
string server = "db.cce-solutions.dk";
string database = "web626445";
string uid = "******";
...
MySqlCommand cmd = new MySqlCommand("insert into web626445 (yourName,YourEmail,YourPhone,Category,Description) values(@Name,@Email,@Telephone,@Category,@Description)", connection);
我发现web626445
是database
而不是table
。请改用表名。由于您已使用try块将其包装起来,因此无法看到错误。
并检查您是否正确创建了表格。