需要帮助将数据从一个表传输到同一数据库中的另一个表

时间:2011-12-10 17:29:08

标签: sql asp.net database visual-studio-2008

我正在使用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表。)

如果问题太长,抱歉。请帮我解决这个问题,或者告诉我将数据从一个表传输到另一个表的更好方法。我还需要帮助为我的网站创建简单的产品搜索引擎。

1 个答案:

答案 0 :(得分:1)

INSERT INTO [Checkout] ([ProductID], [MemberID], [Quantity]) 
SELECT [ProductID], [MemberID], [Quantity]
FROM [Cart] 
WHERE [MemberID]=?

根据您的第一个想法使用SQL。上述语句应该获得您需要的值。您需要做的就是在Where子句中指定成员ID。

更多信息:

http://msdn.microsoft.com/en-us/library/ms188263.aspx

http://msdn.microsoft.com/en-us/library/ms189872.aspx