<% Option Explicit Response.Buffer = True Dim objConn, objRS, strSQL Dim aryProduct, intProductLoop Dim intMaxCols, intCurrentCol Dim intCartItems, intNewOrderId Dim intPageNo, intMaxRecs, intFirstRec, intLastRec, intNoPages, intPageLoop intCurrentCol = 0 intMaxCols = 4 intCartItems = 0 intMaxRecs = 20 '-- Determine current page... If Len(Request.QueryString("page")) > 0 Then intPageNo = Request.QueryString("page") Else intPageNo = 1 End If Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open(Application("DB_CONN")) '-- Check for item being added... If Len(Request.QueryString("add")) > 0 Then '-- Add order if none exists... If Not Len(Session("OrderId")) > 0 Then intNewOrderId = Order_AddNew(Request.QueryString("pid")) If intNewOrderId > 0 Then Session("OrderId") = intNewOrderId End If Else Call Order_Product_AddNew(Session("OrderId"), Request.QueryString("pid")) End If End If '-- aryProduct: 0=ProductId, 1=CountyName, 2=ArtistName, 3=Title, 4=FramedSize, 5=Description, 6=Thumbnail, 7=Price, 8=ShippingHandling aryProduct = Product_ListAll() '-- Paging: Display [intMaxRecs] records starting at [intFirstRec] to [intLastRec]... intNoPages = (UBound(aryProduct, 2) + 1) \ intMaxRecs If (UBound(aryProduct, 2) + 1) \ intMaxRecs < (UBound(aryProduct, 2) + 1) / intMaxRecs Then intNoPages = intNoPages + 1 End If intLastRec = intMaxRecs * intPageNo intFirstRec = intLastRec - intMaxRecs + 1 If intLastRec > (UBound(aryProduct, 2) + 1) Then intLastRec = (UBound(aryProduct, 2) + 1) End If '-- Determine if there are items in the cart... If Len(Session("OrderId")) > 0 Then intCartItems = Order_Product_GetCount(Session("OrderId")) End If '-- ************************************************************** '-- * Order_AddNew: Inserts a new order for the current visitor... '-- ************************************************************** Function Order_AddNew(intProductId) Dim intNewRecord intNewRecord = 0 '-- Obtain the next record number... strSQL = "SELECT MAX(OrderId) As OrderId " & _ "FROM [Order] " Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, objConn If Not objRS.EOF Then intNewRecord = objRS("OrderId") + 1 End If '-- Insert record for new order id... If IsNumeric(intNewRecord) Then strSQL = "INSERT " & _ "INTO [Order] " & _ "(OrderId, IsActive, RecordCreatedDate, LastUpdatedDate) " & _ "VALUES " & _ "(" & intNewRecord & ", 1, '" & Now() & "', '" & Now() & "') " objConn.Execute strSQL '-- Insert Order_Product record for selected product... Call Order_Product_AddNew(intNewRecord, intProductId) End If Set objRS = Nothing Order_AddNew = intNewRecord End Function '-- ************************************************************** '-- * Order_Product_AddNew: Inserts a new product order... '-- ************************************************************** Sub Order_Product_AddNew(intOrderId, intProductId) '-- If product already exists in order, just add 1 to the qty... strSQL = "SELECT OrderId, ProductId " & _ "FROM Order_Product " & _ "WHERE IsActive = 1 " & _ "AND OrderId = " & intOrderId & " " & _ "AND ProductId = " & intProductId Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, objConn If Not objRS.EOF Then '-- Insert Order_Product record for selected product... strSQL = "UPDATE " & _ "[Order_Product] " & _ "SET Quantity = Quantity + 1, LastUpdatedDate = '" & Now() & "' " & _ "WHERE OrderId = " & intOrderId & " " & _ "AND ProductId = " & intProductId objConn.Execute strSQL Else '-- Insert Order_Product record for selected product... strSQL = "INSERT " & _ "INTO [Order_Product] " & _ "(OrderId, ProductId, Quantity, IsActive, RecordCreatedDate, LastUpdatedDate) " & _ "VALUES " & _ "(" & intOrderId & ", " & intProductId & ", 1, 1, '" & Now() & "', '" & Now() & "') " objConn.Execute strSQL End If Set objRS = Nothing End Sub '-- ************************************************************** '-- * Product_ListAll: Returns all products... '-- ************************************************************** Function Product_ListAll() strSQL = "SELECT ProductId, CountyName, ArtistName, Title, FramedSize, Description, Thumbnail, Price, ShippingHandling " & _ "FROM Product " & _ "WHERE IsActive = 1 " & _ "AND ProductTypeId = 2 " & _ "ORDER BY CountyName ASC" Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, objConn If Not objRS.EOF Then Product_ListAll = objRS.GetRows Else Product_ListAll = vbNullString End If Set objRS = Nothing End Function '-- ************************************************************** '-- * Order_Product_GetCount: Returns count of products in order... '-- ************************************************************** Function Order_Product_GetCount(intOrderId) strSQL = "SELECT Count(ProductId) AS RowCount " & _ "FROM Order_Product " & _ "WHERE IsActive = 1 " & _ "AND OrderId = " & intOrderId Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, objConn If Not objRS.EOF Then Order_Product_GetCount = objRS("RowCount") Else Order_Product_GetCount = vbNullString End If Set objRS = Nothing End Function Set objConn = Nothing %> the land we call ohio - ARTISTS

<% If intCartItems > 0 Then %> <% End If %>

    MEET THE ARTISTS

Richard M. Canfield 1947 – 2004

Richard, originally from Youngstown, has lived in Columbus for 14 years. He is a co-op member of Studio’s On High in Columbus and represented by Sharon Weiss Gallery on Poplar Street in the Short North Arts District. He received his education and degree from The Art Institute of Pittsburgh._ After graduation he served there two years as an instructor in drawing and painting.  As a graphic design studio owner and operator and freelance designer Richard enjoyed a twenty five year career in the graphics industry before pursuing his interests and career in painting.

*artist Richard Canfield died February 23, 2004 before he signed all of his prints. A facsimile of his signature and years of life will be placed on unsigned prints.”

Kaye Michele Darling

Kaye Michele, a Columbus native, received her B.F.A. and M.A. in Art Education from The Ohio State University. She attended the Academia de la Grande Chaumiere in Paris, the Maryland Institute in Baltimore, and rounded off her education at the Columbus College of Art and Design. Kaye Michele teaches art at CCAD and at Fort Hayes Metropolitan Education Center. _Her own art expression takes the form of paintings and drawings in a broad range of media.

Debra Joyce Dawson

A native of Maryland, Debra has been living in Pataskala, Ohio since December 1989. Painting in oils for the past 41 years, Debra received her formal training in Maryland and New Jersey while supporting herself and her two children as a typesetter and a full time professional singer. Marriage brought Debra to Ohio where she returned to the study of art at Denison University in Granville, and at The Columbus College of Art and Design. Since that time, art has been her major focus.

Experiencing different cultures is an important part of Dawson’s personal and artistic life. She has traveled and painted extensively in Europe, Asia, Puerto Rico, and in 45 of America’s 50 states, and her works are in collections around the U.S., England and New Zealand. Upon completion of her paintings for The Paint Ohio Project, Debra traveled for a month in England and in the Burgundy Region of France to paint en plein air. Dawson is currently serving as president of The Ohio Plein Air Society, has been accepted into the May 2004 Oil Painters of America National Exhibition in Washington State, and will be living and painting on Grand Island in Lake Superior as part of the Hiawatha National Forest Artist-in-Residence Program, August 2004. A solo exhibition is planned for June 2005 at Sharon Weiss Gallery, in Columbus.

Mark Gingerich

Mark is a native of West Germany and is a largely self-taught artist. He has had a number of solo and group exhibitions and frequent portrait and landscape commissions. Although he paints on a nearly full-time basis, he is also a skilled brick mason.

Deborah Bradford Linville

Deborah has compiled from a universe of sources and written a history for all 88 of Ohio’s counties that are included in The Land We Call Ohio book. Raised in Virginia, Deb became a Buckeye when she graduated from Ohio Wesleyan University, later adding a degree from The Ohio State University. She has been a teacher, administrator, publicist, and writer. Deb lives in Columbus.

Richard Otten

Richard recently received his B.F.A. from the Columbus College of Art and Design and has served a fellowship at the Chautauqua Art Institute. _He has won a number of "emerging artist" awards and his paintings focus on landscapes.

Tom Harbrecht

Tom is a graduate of Worthington High School and Otterbein College, and received his M.S. in physical education from Marshall University. He has been a Navy Seal, a high school teacher and coach and a technical advisor for Orion Pictures. He became a freelance artist and illustrator and received the B.F.A from the Columbus College of Art and Design.

John Hoberg

John practiced law with Vorys, Sater, Seymour and Pease LLP in Columbus for thirty years before retiring in 1999. Since retirement, he's been increasingly involved in creating video programs for charitable causes, training videos and travelogues.