C# 我得到了这个错误;必须声明标量值@time";对于此代码。需要帮忙修理吗
我得到错误“必须声明此代码的标量值@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
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
作为参数而不是正确的变量类型是有问题的。