|
|||||||
New to SitePoint Forums? Register here for free!
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
|
|
#1 |
|
SitePoint Member
Join Date: Aug 2006
Posts: 7
|
Session problem
Hello again!
I've been trying to put up a shopping cart with a items list page and a second one (cart). When I hit the "buy" button from one item I get this error on "cart.aspx": "Object reference not set to an instance of an object" Line 5: Dim ds as DataSet Line 6: ds = CType(Session("myDataSet"), Dataset) Line 7: MyDataGrid.Datasource=ds.Tables("Catalogo").DefaultView Line 8: MyDataGrid.DataBind() Line 9: End Sub I have no clu where the error may come from so I'm gonna post both entire files code. item list.aspx HTML Code:
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDB" %> <%@ Page Language="VB" Debug="true" %> <html> <script language="VB" runat="server"> Dim MyConnection As OleDBConnection Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not Page.IsPostBack() Then DataBind() dlsearchby.items.Add("produto") End If End Sub Private Sub DataBind() DIM MyConnection As New OleDBConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Inetpub\wwwroot\DOT\InforJ\db\newBD.mdb") Dim MyCommand As New OleDBDataAdapter("select * from catalogo where promo LIKE 'p%' order by promo", MyConnection) Dim DS As New DataSet If Not (Page.IsPostBack) MyCommand.Fill(DS) DS = Nothing DS = New DataSet() End If Session("myDataSet") = DS MyCommand.Fill (DS, "Catalog") MyDataList.DataSource = DS.Tables(0).DefaultView MyDataList.DataBind() End Sub Sub doSearch(Source as Object, E as EventArgs) Dim sSearchby as String MyDataList.visible="false" Dim strConn as string = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Inetpub\wwwroot\DOT\InforJ\db\newBD.mdb" Dim MySQL as string = "Select * from Catalogo where " & dlsearchby.selectedItem.text & _ " Like '%" & txtSearch.text & "%' order by ID" Trace.Warn("sql = " & MySQL) Dim MyConn as New OleDBConnection(strConn) Dim objDR as OledbDataReader Dim Cmd as New OleDBCommand(MySQL, MyConn) MyConn.Open() objDR=Cmd.ExecuteReader(system.data.CommandBehavior.CloseConnection) dlSearch.DataSource = objDR dlSearch.DataBind() MyConn.Close dlSearch.visible="true" End Sub Sub doInsert(Source as Object, E as EventArgs) Dim MySQL as string = "Insert into mailing (mail) values (@mail)" Dim myConn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & server.mappath("DB\newBD.mdb") & ";" ) Dim Cmd as New OleDbCommand(MySQL, MyConn) cmd.Parameters.Add(New OleDbParameter("@mail", frmfname.text)) MyConn.Open() cmd.ExecuteNonQuery MyConn.Close() label1.visible="true" label1.text = "<font size=1>E-mail adicionado." End Sub Sub doit(Source as Object, E as EventArgs) response.Redirect ("page3.aspx") End Sub Sub MyDataList_Select(sender As Object, e As EventArgs) Response.Redirect("detail.aspx?id=@id") End Sub </script> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>inforJ - produtos informácticos</title> <!-- ImageReady Preload Script (menu.psd) --> <script type="text/javascript"> <!-- function newImage(arg) { if (document.images) { rslt = new Image(); rslt.src = arg; return rslt; } } function changeImages() { if (document.images && (preloadFlag == true)) { for (var i=0; i<changeImages.arguments.length; i+=2) { document[changeImages.arguments[i]].src = changeImages.arguments[i+1]; } } } var preloadFlag = false; function preloadImages() { if (document.images) { menu_inicio_over = newImage("images/menu_inicio-over.jpg"); menu_tinteiros_over = newImage("images/menu_tinteiros-over.jpg"); menu_hardware_over = newImage("images/menu_hardware-over.jpg"); menu_software_over = newImage("images/menu_software-over.jpg"); menu_webdesign_over = newImage("images/menu_webdesign-over.jpg"); menu_encomendas_over = newImage("images/menu_encomendas-over.jpg"); menu_contactos_over = newImage("images/menu_contactos-over.jpg"); menu_campanha_over = newImage("images/menu_campanha-over.jpg"); preloadFlag = true; } } // --> </script> <!-- End Preload Script --> </head> <body bgcolor="#FFFFFF" link="#000000" vlink="#000099" alink="#000099" onload="preloadImages();"> <table width="655" height="659" border="1" align="center" id="main"> <tr> <td height="77" colspan="3"> <img src="images/pagina/cab.jpg" width="737" height="142" align="absmiddle"></td> </tr> <tr> <td width="158" valign="top" rowspan="2" align="center"> <!-- ImageReady Slices (menu.psd) --> <table id="Table_01" width="153" height="290" border="0" cellpadding="0" cellspacing="0"> <tr> <td colspan="3"> <img src="images/menu_01.jpg" width="153" height="24" alt=""></td> </tr> <tr> <td rowspan="9"> <img src="images/menu_02.jpg" width="8" height="266" alt=""></td> <td> <a href="default.aspx" onmouseover="changeImages('menu_inicio', 'images/menu_inicio-over.jpg'); return true;" onmouseout="changeImages('menu_inicio', 'images/menu_inicio.jpg'); return true;" onmousedown="changeImages('menu_inicio', 'images/menu_inicio-over.jpg'); return true;" onmouseup="changeImages('menu_inicio', 'images/menu_inicio-over.jpg'); return true;"> <img name="menu_inicio" src="images/menu_inicio.jpg" width="138" height="30" border="0" alt=""></a></td> <td rowspan="9"> <img src="images/menu_04.jpg" width="7" height="266" alt=""></td> </tr> <tr> <td> <a href="tinteiros.aspx" onmouseover="changeImages('menu_tinteiros', 'images/menu_tinteiros-over.jpg'); return true;" onmouseout="changeImages('menu_tinteiros', 'images/menu_tinteiros.jpg'); return true;" onmousedown="changeImages('menu_tinteiros', 'images/menu_tinteiros-over.jpg'); return true;" onmouseup="changeImages('menu_tinteiros', 'images/menu_tinteiros-over.jpg'); return true;"> <img name="menu_tinteiros" src="images/menu_tinteiros.jpg" width="138" height="30" border="0" alt=""></a></td> </tr> <tr> <td> <a href="computadores.aspx" onmouseover="changeImages('menu_hardware', 'images/menu_hardware-over.jpg'); return true;" onmouseout="changeImages('menu_hardware', 'images/menu_hardware.jpg'); return true;" onmousedown="changeImages('menu_hardware', 'images/menu_hardware-over.jpg'); return true;" onmouseup="changeImages('menu_hardware', 'images/menu_hardware-over.jpg'); return true;"> <img name="menu_hardware" src="images/menu_hardware.jpg" width="138" height="30" border="0" alt=""></a></td> </tr> <tr> <td> <a href="componentes.aspx" onmouseover="changeImages('menu_software', 'images/menu_software-over.jpg'); return true;" onmouseout="changeImages('menu_software', 'images/menu_software.jpg'); return true;" onmousedown="changeImages('menu_software', 'images/menu_software-over.jpg'); return true;" onmouseup="changeImages('menu_software', 'images/menu_software-over.jpg'); return true;"> <img name="menu_software" src="images/menu_software.jpg" width="138" height="30" border="0" alt=""></a></td> </tr> <tr> <td> <a href="software.aspx" onmouseover="changeImages('menu_webdesign', 'images/menu_webdesign-over.jpg'); return true;" onmouseout="changeImages('menu_webdesign', 'images/menu_webdesign.jpg'); return true;" onmousedown="changeImages('menu_webdesign', 'images/menu_webdesign-over.jpg'); return true;" onmouseup="changeImages('menu_webdesign', 'images/menu_webdesign-over.jpg'); return true;"> <img name="menu_webdesign" src="images/menu_webdesign.jpg" width="138" height="30" border="0" alt=""></a></td> </tr> <tr> <td> <a href="webd.aspx" onmouseover="changeImages('menu_encomendas', 'images/menu_encomendas-over.jpg'); return true;" onmouseout="changeImages('menu_encomendas', 'images/menu_encomendas.jpg'); return true;" onmousedown="changeImages('menu_encomendas', 'images/menu_encomendas-over.jpg'); return true;" onmouseup="changeImages('menu_encomendas', 'images/menu_encomendas-over.jpg'); return true;"> <img name="menu_encomendas" src="images/menu_encomendas.jpg" width="138" height="30" border="0" alt=""></a></td> </tr> <tr> <td> <a href="contactos.aspx" onmouseover="changeImages('menu_contactos', 'images/menu_contactos-over.jpg'); return true;" onmouseout="changeImages('menu_contactos', 'images/menu_contactos.jpg'); return true;" onmousedown="changeImages('menu_contactos', 'images/menu_contactos-over.jpg'); return true;" onmouseup="changeImages('menu_contactos', 'images/menu_contactos-over.jpg'); return true;"> <img name="menu_contactos" src="images/menu_contactos.jpg" width="138" height="30" border="0" alt=""></a></td> </tr> <tr> <td> <a href="download.aspx" onmouseover="changeImages('menu_campanha', 'images/menu_campanha-over.jpg'); return true;" onmouseout="changeImages('menu_campanha', 'images/menu_campanha.jpg'); return true;" onmousedown="changeImages('menu_campanha', 'images/menu_campanha-over.jpg'); return true;" onmouseup="changeImages('menu_campanha', 'images/menu_campanha-over.jpg'); return true;"> <img name="menu_campanha" src="images/menu_campanha.jpg" width="138" height="36" border="0" alt=""></a></td> </tr> <tr> <td> <img src="images/menu_12.jpg" width="138" height="20" alt=""></td> </tr> </table> <!-- End ImageReady Slices --> <br> <img src="images/pagina/index2.jpg" width="153" height="73"> </td> <td width="446" rowspan="4" valign="top" align="center"> <img border="0" src="images/pagina/barraNews.jpg" width="400"> <form runat="server"> <asp:DropDownList id="dlsearchby" runat="server" /> <asp:TextBox id="txtSearch" runat="server" /> <asp:Button id="btnSearch" Text="Search" onclick="doSearch" runat="server" /><br> <asp:RequiredFieldValidator ID="vldSearch" ControlToValidate="txtSearch" Display="Dynamic" runat="server"> You must include search criteria </asp:RequiredFieldValidator> <asp:DataList runat="server" Id="dlSearch" GridLines="None" cellpadding="2" cellspacing="2" Headerstyle-BackColor="#000000" HeaderStyle-Forecolor="White" Headerstyle-Font-Name="Arial" Headerstyle-Font-Size="8" OnSelectedIndexChanged="MyDataList_Select" Font-Name="Arial" Font-Size="10" Width="100%"> <HeaderTemplate> <b><i><font Size="2">Resultados de pesquisa </font></i></b> <br> </HeaderTemplate> <ItemTemplate> <b><%# Container.DataItem("produto")%></b><br> <a title="Detalhes de <%# DataBinder.Eval(Container.DataItem, "produto") %>" href="detail.aspx?id=<%# DataBinder.Eval(Container.DataItem, "ID") %>"><%# DataBinder.Eval(Container.DataItem, "produto") %></a> Categoria: <%# Container.DataItem("categoria")%><br> ID: <%# Container.DataItem("codigo")%><br> </ItemTemplate> </ASP:DataList> <table border="0" width="100%"> <tr> <td> <ASP:DataList id="MyDataList" RepeatColumns="2" RepeatDirection="Horizontal" runat="server"> <ItemTemplate> <table width="100%" border="0" cellpadding=2 cellspacing=4 style="font: 8pt verdana"> <tr> <td width="200" valign="top" align="center"> <b><%# DataBinder.Eval(Container.DataItem, "produto") %></b><br> <IMG alt="foto" align="top" src='<%# DataBinder.Eval(Container.DataItem, "foto") %>' width="100" Border="0"><br> <%# DataBinder.Eval(Container.DataItem, "categoria") %><br> <a title="Detalhes de <%# DataBinder.Eval(Container.DataItem, "produto") %>" CommandName="Select" href="detailPC.aspx?id=<%# DataBinder.Eval(Container.DataItem, "ID") %>">Detalhes</a><br> <b><%# DataBinder.Eval(Container.DataItem, "preco", "{0:c}") %></b><br> <a title="Comprar <%# DataBinder.Eval(Container.DataItem, "produto") %>" CommandName="Select" onclick="doit" href="cart/page2.aspx?id=<%# DataBinder.Eval(Container.DataItem, "ID") %>"><font color="red">Comprar</font></a> </td> </tr> </table> </ItemTemplate> </ASP:DataList> </td> </tr> </table> </td> <td width="153" height="136"><img src="images/pagina/pub02.jpg" width="153" height="132"> <br><img src="images/pagina/pub01.jpg" width="153" height="207"> <table border="0"> <tr> <td align="center"><font size="2">Quero receber<br>novidades</td></tr> <tr><td align="center"> <asp:textbox columns="10" Text="e-mail" id="frmfname" runat="server" /> <asp:RequiredFieldValidator runat="server" id="vldfname" ControlToValidate="frmfname" ErrorMessage="" display="dynamic" Font-Names="Arial" Font-Size="8"> Inválido </asp:RequiredFieldValidator> <asp:RegularExpressionValidator id="emailRegexVal" ControlToValidate="frmfname" ErrorMessage="Email. " Display="dynamic" ValidationExpression="^[\w-]+@[\w-]+\.(pt|br|com|net|org|edu|mil)$" Font-Names="Arial" Font-Size="8" runat="server"> Inválido. Deve ser email@host.domínio. </asp:RegularExpressionValidator></td> </tr> <tr> <td align="center" colspan="2"> <asp:button id="button1" Text="Inserir" onclick="doInsert" runat="server" /> </td> </tr> </table> <div align="center"><b><i><asp:Label ID="label1" runat="server" /></i></b></div> </Form> </td> </tr> <tr> <td height="211"></td> </tr> <tr> <td width="153" rowspan="2"> </td> </tr> <tr> <td height="135"> </td> </tr> </table> </body> </html> HTML Code:
<%@ Import Namespace="System.Data" %> <%@ Page Language="VB" Debug="true" %> <script language="VB" runat="server"> Sub Page_Load(Source as Object, E as EventArgs) Dim ds as DataSet ds = CType(Session("myDataSet"), Dataset) MyDataGrid.Datasource=ds.Tables("Catalogo").DefaultView MyDataGrid.DataBind() End Sub </script> <html> <head> <title>Page 2</TITLE> </head> <body> <Form id="form1" runat="server"> <div align="center"> <b><i>Employees Table</i></b> <asp:Datagrid runat="server" Id="MyDataGrid" GridLines="Both" cellpadding="0" cellspacing="0" Headerstyle-BackColor="#8080C0" Headerstyle-Font-Name="Arial" Headerstyle-Font-Bold="True" Headerstyle-Font-Size="14" BackColor="#8080FF" Font-Name="Arial" Font-Size="11" AlternatingItemStyle-BackColor="#DFDFDF" AlternatingItemStyle-Font-Name="Arial" AlternatingItemStyle-Font-Size="11" BorderColor="Black"> </asp:DataGrid> </Form> </body> </html> Thanx in advance. |
|
|
|
![]() |
| Bookmarks |
«
Previous Thread
|
Next Thread
»
| Thread Tools | |
| Display Modes | |
|
|
|
All times are GMT -7. The time now is 18:13.







Hybrid Mode
