【问题标题】:Adding int and string into mySQL from Windows Form从 Windows 窗体将 int 和 string 添加到 mySQL
【发布时间】:2013-03-03 04:40:30
【问题描述】:

好的,所以我正在尝试连接到我的大学数据库服务器并允许我的程序的用户提交一个高分,然后将其存储在数据库中。我遇到的问题是数据没有被添加到数据库中,但没有收到任何错误或消息说它没有。

这是按钮的代码

private void btnSubmitScore_Click(object sender, EventArgs e)
{
    string connStr = "server=server; " +
                     "database=databse; " +
                     "uid=username; " +
                     "pwd=password;";

    string query = "INSERT INTO highscore('Name','Score')    VALUES (@Name, @Score);";
    using(MySqlConnection connection = new MySqlConnection(connStr))
    {
        Console.WriteLine(query);
        MySqlCommand insertCommand = new MySqlCommand(query,connection);
        insertCommand.Parameters.AddWithValue("@Name",sName);
        insertCommand.Parameters.AddWithValue("@Score",iTotalScore);

        try
        {
            connection.Open();
            insertCommand.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine("exception: " + ex);
        }
        connection.Close();
    }
}

我的变量是 sName 和 iTotalScore,它们将被添加到数据库中名为“Name”和“Score”的两个字段中。我上网查了一下,好像没找到解决办法。

如果有人可以提供帮助,将不胜感激。

非常感谢

【问题讨论】:

  • ExecuteNonQuery()的返回值是多少?它将为您提供受语句影响的行数,希望为 1。仔细检查。
  • 抱歉,但我不知道该怎么做:/
  • var 结果 = insertCommand.ExecuteNonQuery();
  • @MikeC。我想说即使在 using 块中,您仍然应该关闭连接。我认为这是一种更好的做法。
  • 我认为您不需要在列名中使用引号符号尝试在您的查询字符串中:INSERT INTO (Name, Score) VALUES...

标签: c# mysql windows winforms


【解决方案1】:

您的 INSERT 语句有问题。您不能将列名放在任何引号中。你的陈述应该是:

string query = "INSERT INTO highscore (Name, Score) VALUES (@Name, @Score);";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2012-05-17
    • 1970-01-01
    • 2012-11-30
    相关资源
    最近更新 更多