Adding New Products in the Store Manager
Introduction. Now
that we have taken care of searching our existing products, we need to
start looking at other typical database functions. In this page we
develop the functionality to add new products The interface for
this is done in an ASP called NewProduct.asp. Since NewProduct.asp
is essentially a form, it needs a processing script to actually add the
new product to the database. This processing script will be called
AddNewProduct.asp. This ASP will
rely on one stored procedure called sp_InsertProduct to actually
implement the insertion into the table.
These will be presented on this page and some discussion will
ensue.
The following table gives the ASPs and stored procedure we will develop in this page. |
Stored Procedure | ASP Container |
NewProduct.asp | |
sp_InsertProduct | AddNewProduct.asp |
The Stored Procedure. First we present the stored procedure. Remember, you do not need to implement the stored procedures, this is to illustrate what you would need to do if you had the correct permissions in your database. This stored procedure uses an INSERT INTO command in SQL to take the new product fields and insert them into the table. It also uses a SELECT command to increment the idProduct. The file should be called sp_InsertProduct.asp. |
<%@ Language=VBScript %> <% Option Explicit %> <!--#include File="adovbs.inc"--> <% ' Open a connection to our SQL Server database ' We will use the ADO Driver connection Dim connDeptProds, strSQLCreate Set connDeptProds = Server.CreateObject("ADODB.Connection") connDeptProds.ConnectionString="Driver={SQL Server}; Server=cisdev.quinnipiac.edu;" & _ "Database=YourUserName;UID=cis; PWD=csatqu" connDeptProds.Open ' Creating the SQL String to create the stored procedure strSQLCreate = "CREATE PROCEDURE sp_InsertProduct " & _ "@chrProductName varchar(255), " & _ "@txtDescription text, " & _ "@chrProductImage varchar(100), " & _ "@intPrice int, " & _ "@intActive int AS " & _ "insert into products(chrProductName, txtDescription, chrProductImage, intPrice, intActive) " & _ "values(@chrProductName, @txtDescription, @chrProductImage, @intPrice, @intActive) " & _ "select idProduct = @@identity" connDeptProds.execute(strSQLCreate) connDeptProds.Close Set connDeptProds = Nothing Response.Write "<font size = 5>The SQL has executed</font>" %> |
As with all of the stored procedures you create, this
file would only need to be executed once in your database. After
that you should get an error that the stored procedure already
exists. Since this is linked to the WildWillies database you do not even
need to do this much. But, remember, if you do execute such an ASP
you can delete the ASP immediately after the stored procedure has been
created.
The NewProduct.asp. This is essentially a form page to get the inputs for the new product. You need to save this file and upload it to your StoreManager subdirectory. This ASP will do the following.
Call the file NewProduct.asp. |
<%@ Language=VBScript %> <!-- #Include file="include/validatecheck.asp" --> <html> <!-- NewProduct.asp - Handles adding in a new product into the store. --> <head> <meta NAME="GENERATOR" Content="Microsoft Visual Studio 6.0"> </head> <body> <!-- #Include file="include/navinclude.asp" --> <!-- Form to post the new product to the database --> <form method="post" action="AddNewProduct.asp"> <!-- Table build the form for adding the new product --> <table cellpadding="3" cellspacing="3"> <!-- Product Name Input --> <tr> <td align="right"><b>Product Name:</b></td> <td> <input type="text" value="" name="chrProductName" size="60"> </td> </tr> <!-- Product Description Input --> <tr> <td align="right"><b>Product Description:</b></td> <td> <textarea cols="50" rows="10" name="txtDescription"></textarea> </td> </tr> <!-- Product Image Input --> <tr> <td align="right"><b>Product Image:</b></td> <td><input type="text" value="" name="chrProductImage"></td> </tr> <!-- Product Price Input --> <tr> <td align="right"><b>Product Price:</b></td> <td><input type="text" value="" name="intPrice"></td> </tr> <!-- Check box to indicate the product is active --> <tr> <td align="right"><b>Active:</b></td> <td> <input type="checkbox" value="1" name="intActive"> </td> </tr> <!-- Submit button to add the product --> <tr> <td colspan="2" align="center"> <input type="submit" value="Add Product" name="Submit"> </td> </tr> <!-- Close out the page. --> </table> </form> </body> </html> |
After you upload this ASP and access it in your web you should see something like the following. |
Now that we have the form for inputs, we need the
processing script
The AddNewProduct.asp. This is a relatively straight forward ASP with the real work done by the stored procedure. You need to save this file and upload it to your StoreManager subdirectory. This ASP will do the following.
Call the file AddNewProduct.asp. |
<%@ Language=VBScript %> <% ' **************************************************** ' AddNewProduct.asp - Handles adding a new product to ' the store. ' **************************************************** ' Retrieve the product name and ensure that any single quotes are doubled. chrProductName = replace(request("chrProductName"), "'", "''") ' Retrieve the product description and ensure that any single quotes are doubled. txtDescription = replace(request("txtDescription"), "'", "''") ' Retrieve the product image. chrProductImage = request("chrProductImage") ' Retrieve the price. Ensure that we multiply times 100 to store as a whole integer. intPrice = request("intPrice") * 100 ' Retrieve the active setting. intActive = request("intActive") ' We have to check and see if any setting is made. ' It will not be set if the box is not checked. if intActive = "" then
else
end if |
Since we haven't yet developed the ManageProduct.asp we can't really make use of this page. That will happen in the next web page. |