深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

制作我们自己的Ebay(拍卖系统EN) - Managing Bids - P


March 25,2004
This is the complex part - you must make sure everyone's bids are correct, update those that have proxy bids, reallocate lots to winners, notify buyers who have been outbid, and perform some upkeep.

First let's look at the code to add a bid.



Function DoBid(ItemID, BidderID, Price, optional MaxPrice, optional MaxItems)


'Set variables and create objects
strConnectionString = "DSN=MyAuction;UID=username;PWD=password;Database=MyAuctionDB"
set rst = Server.CreateObject("ADODB.Recordset")


'Check to see if a bid already exists for this buyer and auction
strSQL = "SELECT BID FROM tblAuctionBids WHERE IID = " & ItemID & " AND " & _
    "UID = " & BidderID
rst.open strSQL, strConnectionString


if rst.eof then 'A bid does not exist
    rst.close
    'Insert info into table
    strSQL = "INSERT INTO tblAuctionBids (IID, UID, WinPrice, MaxBid, " & _
        "BidItems, WinItems, Time VALUES (" & ItemID & ", " & BidderID & _
        ", '" & Price & "', '" & MaxPrice & "', " & MaxItems & _
        ", 0, '" & Now() & "')"
        'Default WinItems to 0 for now


else    'A bid does exist
    rst.close
    'Update info in table
    strSQL = "UPDATE tblAuctionBids SET WinPrice = '" & Price & _
        "' WHERE IID = " & ItemID & " AND UID = " & BidderID
end if


rst.open strSQL, strConnectionString


''Fix bidding information
call ResolveBids(ItemID)


End Function



NOTE: This code above is developed for Visual Basic, and the keyword "optional" in the function opener is not supported in VBScript. In an ASP then, simply leave out the keyword "optional" here, and when you call the function, pass in an empty string, i.e.:

call DoBid(ItemId, BidderID, Price, "", "")

This function basically takes some info, and either inserts it or updates it in the Bids table - fairly simple stuff. The function ResolveBids however is where all the good stuff happens.
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved