MySQL通过PHPMyAdmin创建数据库与C#连接

时间:2014-06-09 12:38:56

标签: c# mysql asp.net

我们对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();

1 个答案:

答案 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);

我发现web626445database而不是table。请改用表名。由于您已使用try块将其包装起来,因此无法看到错误。

并检查您是否正确创建了表格。