C# 我得到了这个错误;必须声明标量值@time";对于此代码。需要帮忙修理吗

C# 我得到了这个错误;必须声明标量值@time";对于此代码。需要帮忙修理吗,c#,sql,sql-server,visual-studio,C#,Sql,Sql Server,Visual Studio,我得到错误“必须声明此代码的标量值@time”。我只是想导入本地时间并将其存储在表中。 Logged\u in列的数据类型为datetime obj.conn.Open(); DateTime localdate = DateTime.Now; string time = localdate.ToString("MM'/'dd'/'yyyy HH':'mm':'ss.fff"); string loggedintime = "INSERT INTO UserAccountTable(Log

我得到错误“必须声明此代码的标量值@time”。我只是想导入本地时间并将其存储在表中。
Logged\u in
列的数据类型为
datetime

obj.conn.Open();

DateTime localdate = DateTime.Now;

string time = localdate.ToString("MM'/'dd'/'yyyy HH':'mm':'ss.fff");

string loggedintime = "INSERT INTO UserAccountTable(Logged_in) values (@time)";

obj.cmd.Connection = obj.conn;

obj.cmd.CommandText = loggedintime;

obj.cmd.ExecuteNonQuery();

obj.conn.Close();

您缺少以下参数:

cmd.Parameters.AddWithValue("@time", time );
看在上帝的份上,处理好你的关系:

string commandText = "INSERT INTO UserAccountTable(Logged_in) values (@time)";

using (SqlConnection connection = new SqlConnection(connectionString))
{
    SqlCommand command = new SqlCommand(commandText, connection);
    cmd.Parameters.AddWithValue("@time", time );


    try
    {
        connection.Open();
        Int32 rowsAffected = command.ExecuteNonQuery();
        Console.WriteLine("RowsAffected: {0}", rowsAffected);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}
而且,您也不需要将日期解析为字符串


简单地使用
日期时间
,确保它是数据库中的日期字段

您需要使用
SqlParameters
@Omriman 12如何?。。我需要把当地的日期和时间公布在answer@omriman12我是新来的。请用注释解释代码。请看我发布的答案。。。。。我写了整个代码,不要使用懒惰和容易出错的代码。如果您建议不要将用户输入的值作为字符串获取,那么这应该反映在您的代码中。建议OP使用
time
作为参数而不是正确的变量类型是有问题的。