我正在使用Visual Studio 2008 express运行C#。我在同一个数据库中获得了Cart表和Checkout表,这是一个访问文件。两个表都有3个相同的列,即ProductID,MemberID和Quantity。
因此,当我点击购物车页面中的一个按钮时,Cart表中的数据应该转移到Checkout表,而Cart中的数据应该被清除(我还没有尝试,因为传输部分是不成功)。在配置数据源中,SQL语句插入部分我写道:
INSERT INTO [Checkout]
([ProductID], [MemberID], [Quantity])
VALUES (?, ?, ?)
SELECT([ProductID], [MemberID], [Quantity])
FROM [Cart]
WHERE ([MemberID]=?)
并且错误是(在SQL语句结束时缺少分号(;)。当我运行它时,在aspx.cs(adsCart.Insert();)中出现。当我尝试在configure datasource中执行查询时,错误是(无法解析查询文本。)
(我还试过代码
的另一种方式string MemberID = User.Identity.Name;
string Product = ??? ;
string Quantity =??? ; (Both ??? is the part where I do not know what to put in.)
adsCart1.SelectParameters["MemberID"].DefaultValue = MemberID;
adsCart1.SelectParameters["ProductID"].DefaultValue = ProductID;
adsCart1.SelectParameters["Quantity"].DefaultValue = Quantity;
adsCheckout.InsertParameters["ProductID"].DefaultValue = ProductID;
adsCheckout.InsertParameters["MemberID"].DefaultValue = MemberID;
adsCheckout.InsertParameters["Quantity"].DefaultValue = Quantity;
adsCheckout.Insert();
但是我不知道该为什么投入2 ???部分所以我只设法将memberID转移到Checkout表。)
如果问题太长,抱歉。请帮我解决这个问题,或者告诉我将数据从一个表传输到另一个表的更好方法。我还需要帮助为我的网站创建简单的产品搜索引擎。
答案 0 :(得分:1)
INSERT INTO [Checkout] ([ProductID], [MemberID], [Quantity])
SELECT [ProductID], [MemberID], [Quantity]
FROM [Cart]
WHERE [MemberID]=?
根据您的第一个想法使用SQL。上述语句应该获得您需要的值。您需要做的就是在Where子句中指定成员ID。
更多信息: