SQL 服务器查询 Insert into select 和新数据
SQL Server query Insert into select and new data
我需要更正我在 C# 和 SQL 服务器中的查询。
我有一个名为 LoggedIn
的 table,其中包含名称、密码和时钟列。我希望它插入到 table 中,其中名称和密码来自另一个 table 并且 clockin 现在是当前时间。
string belepve = "INSERT INTO LoggedIn VALUES (SELECT name, password FROM Login WHERE password =" + Kod.login1 +" ,@MyDate";
SqlCommand command4 = new SqlCommand(belepve, con);
command4.Parameters.AddWithValue("@MyDate", DateTime.Now);
然后我只是执行查询。
这里有多个问题。
首先是第二个参数也应该为SqlParameter
。
其次,您在末尾缺少括号。
第三,您需要指定值应进入的列名称 LoggedIn
table.
您的工作代码类似于:
string belepve = @"INSERT INTO LoggedIn (name,password,LoginDate)
VALUES (SELECT name,password,@MyDate
FROM Login
WHERE password =@Password
)";
SqlCommand command4 = new SqlCommand(belepve, con);
command4.Parameters.AddWithValue("@MyDate", DateTime.Now);
command4.Parameters.AddWithValue("@Password", Kod.login1);
假设您在 LoggedIn
table 中有名为 name
、password
和 LoginDate
的列,您可能需要调整列名你实际上在 table.
如果您已经选择了相同数量的列,那么您可以像下面这样更简单地进行操作:
SELECT name,password,@MyDate
INTO LoggedIn
FROM Login
WHERE password =@Password
但是您需要注意选择列的顺序,否则值可能会出现在与预期不同的列中。
希望对你有帮助。
我需要更正我在 C# 和 SQL 服务器中的查询。
我有一个名为 LoggedIn
的 table,其中包含名称、密码和时钟列。我希望它插入到 table 中,其中名称和密码来自另一个 table 并且 clockin 现在是当前时间。
string belepve = "INSERT INTO LoggedIn VALUES (SELECT name, password FROM Login WHERE password =" + Kod.login1 +" ,@MyDate";
SqlCommand command4 = new SqlCommand(belepve, con);
command4.Parameters.AddWithValue("@MyDate", DateTime.Now);
然后我只是执行查询。
这里有多个问题。
首先是第二个参数也应该为SqlParameter
。
其次,您在末尾缺少括号。
第三,您需要指定值应进入的列名称 LoggedIn
table.
您的工作代码类似于:
string belepve = @"INSERT INTO LoggedIn (name,password,LoginDate)
VALUES (SELECT name,password,@MyDate
FROM Login
WHERE password =@Password
)";
SqlCommand command4 = new SqlCommand(belepve, con);
command4.Parameters.AddWithValue("@MyDate", DateTime.Now);
command4.Parameters.AddWithValue("@Password", Kod.login1);
假设您在 LoggedIn
table 中有名为 name
、password
和 LoginDate
的列,您可能需要调整列名你实际上在 table.
如果您已经选择了相同数量的列,那么您可以像下面这样更简单地进行操作:
SELECT name,password,@MyDate
INTO LoggedIn
FROM Login
WHERE password =@Password
但是您需要注意选择列的顺序,否则值可能会出现在与预期不同的列中。 希望对你有帮助。