我有以下代码:

private void saveDT()
    {

        MySqlConnection myConn = new MySqlConnection(Common.myConnection);
        myConn.Open();
        string sLastLogin = DateTime.UtcNow.ToString("dd.MM.yyyy HH:mm:ss");
        MySqlCommand mySqlCmd = new MySqlCommand("UPDATE ha_system.tblaccounts SET lastlogin='" + DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss") + "' WHERE name='" + Common.ActiveUser + "'", myConn);
        try
        {
            mySqlCmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            MessageBox.Show("Fehler: " + ex.Message);
        }
        finally
        {
        }
    }

但时间和日期只在数据库列“lastlogin”中的第二次登录后保存。
为什么?我能做什么来解决这个问题?

最佳答案

除了关于避免SQL注入的其他注释外,您不需要从.NET向MySQL服务器中获取DateTime值,您可以使用内置函数并进行如下查询:

"UPDATE ha_system.tblaccounts SET lastlogin=NOW() WHERE ..."

10-07 21:49