【问题标题】:C# to MySqlDB updateC# 到 MySqlDB 更新
【发布时间】:2018-11-01 10:32:34
【问题描述】:

我目前正在为朋友制作一个记录雇主工作时间的小例子。因此,我想更新 MySQL 数据库的记录。

与数据库的连接已经完成,并且正在进行测试,但是,我没有管理(是的,我用谷歌搜索了很多)来实际获取数据库中的值变化。这是我目前尝试给出雇主开始工作的当前时间:

void main(string[] args)
{
    // Die Verbindung zur DB entnehmen.
    MySqlConnection conn = DBUtils.GetDBConnection();
    conn.Open();
    try
    {
        // Der Befehl UPDATE.
        string sql = "UPDATE user SET lastlogin = lastlogin WHERE user username = srademacher";

        MySqlCommand cmd = new MySqlCommand();
        cmd.Connection = conn;
        cmd.CommandText = sql;

        MySqlParameter lastlogin = new MySqlParameter("@lastlogin", SqlDbType.DateTime);
        lastlogin.Value = DateTime.Now;
        cmd.Parameters.Add(lastlogin);

        // Command durchführen
        int rowCount = cmd.ExecuteNonQuery();

    }
    catch (Exception ex)
    {
        Console.WriteLine("Error: " + e);
    }
    finally
    {
        conn.Close();
        conn.Dispose();
        conn = null;
    }

    Console.Read();
    MessageBox.Show("Die Arbeit wurde um " + DateTime.Now + " aufgenommen");
}

我想你可以称我为脚本方面的菜鸟,但我很乐意得到一些建议以变得更好 :-) 谢谢你的想法。

编辑:我在启动代码所对应的应用程序时没有任何问题,只是 DB 中的 DateTime 值没有改变

【问题讨论】:

    标签: c# mysql database


    【解决方案1】:

    您的更新语句语法不正确,WHERE user username = srademacher。然后你添加 MySqlParameter 但不在 sql 中使用它。

    sql 更改为

    string sql = "UPDATE user SET lastlogin = @lastlogin WHERE username = @username";
    

    并添加

     MySqlParameter username = new MySqlParameter("@username", SqlDbType.NVarChar);
     username.Value = "srademacher";
     cmd.Parameters.Add(username);
    

    【讨论】:

    • 首先感谢您的快速回答,如果我理解正确,那应该是不可能的,因为我们现在尝试将用户名导出到允许填写日期时间的文件,或者我得到了那错了吗?无论如何都尝试过,结果没有任何变化(也在用户名参数中将 .DateTime 交换为 VarChar
    • 当然你可以硬编码用户名。然后使用string sql = "UPDATE user SET lastlogin = @lastlogin WHERE username = \"srademacher\"";
    • 是的,硬编码更像是一个占位符,首先让所有东西都运行起来,然后再关心规范。我认为它可能只是找不到要写入的表格..但是无论如何感谢那部分,为我节省了一些时间:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    • 2015-10-25
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 2017-08-17
    相关资源
    最近更新 更多