gpt4 book ai didi

c# - 插入 Order 表,其中 customer_id 取自 Customer 表,其中 login == session

转载 作者:太空宇宙 更新时间:2023-11-03 12:36:49 25 4
gpt4 key购买 nike

我不知道该怎么做。

当用户购买了所有产品时,我想将其插入到 Orders 表中,另外我想插入 Customer 表中的 customer_id,其中 user login = Session["id"]。我试过了,但没用:/我该怎么办?

protected void ConfirmPurchase_Click(object sender, EventArgs e)
{
if (Session["id"] != null)
{
string username;
username = Convert.ToString(Session["id"]);

SqlConnection con = new SqlConnection(@"Data Source=SOME_SQL;Initial Catalog=Shop;Integrated Security=True");

con.Open();

SqlCommand cmd = new SqlCommand("INSERT INTO Orders (order_date, paid, transact_status, customer_id) VALUES (GETDATE() ,'" + cost.ToString("c") + "' ,'Przyjęto do bazy', SELECT customer_id FROM Customer WHERE login='" + username + "')", con);

cmd.ExecuteNonQuery();

Response.Redirect("Payment/Payment.aspx");
}
else
{
Response.Redirect("InputPersonalData.aspx");
}
}

最佳答案

您正在组合 INSERT、INSERT ... VALUES 和 INSERT ... SELECT 的两种风格;在我看来,最简单的选择是通过 INSERT ... SELECT 来完成:

 SqlCommand cmd = new SqlCommand("INSERT INTO Orders (order_date, paid, transact_status, customer_id) SELECT GETDATE() ,'"
+ cost.ToString("c")
+ "' ,'Przyjęto do bazy', customer_id FROM Customer WHERE login='"
+ username + "'", con);

然后,使用参数化查询是一种很好的做法,可以防止 SQL 注入(inject)等风险。

关于c# - 插入 Order 表,其中 customer_id 取自 Customer 表,其中 login == session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com