Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#到MySqlDB更新_C#_Mysql_Database - Fatal编程技术网

C#到MySqlDB更新

C#到MySqlDB更新,c#,mysql,database,C#,Mysql,Database,我目前正在为一位朋友制作一个小例子,记录雇主的工作时间。因此,我想更新MySQL数据库的记录 与数据库的连接已经完成,并且正在进行测试,但是,我没有管理(是的,我在谷歌上搜索了很多)以实际获得数据库中更改的值。这是我目前试图给出雇主开始工作的当前时间: void main(string[] args) { // Die Verbindung zur DB entnehmen. MySqlConnection conn = DBUtils.GetDBConnection();

我目前正在为一位朋友制作一个小例子,记录雇主的工作时间。因此,我想更新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中的日期时间值没有改变

您的update语句的语法不正确,
其中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);

首先,感谢您的快速回答,如果我理解正确的话,这应该是不可能的,因为我们现在尝试将用户名导出到一个允许填写日期时间的字段,还是我弄错了?无论如何都尝试过,结果没有任何更改(也在用户名参数中为VarChar交换了.DateTime当然您可以硬编码用户名。然后使用
string sql=“UPDATE user SET lastlogin=@lastlogin WHERE username=\“srademacher”是的,硬编码更像是一个占位符,先让所有东西都运行起来,然后再考虑规格。我想它可能只是找不到要写的表格。但无论如何,感谢这一部分,给了我一些时间:P