Go Back   SitePoint Forums > Forum Index > Program Your Site > .NET
Newsletter FAQ Members List Calendar Mark Forums Read

New to SitePoint Forums? Register here for free!

SitePoint Sponsor
 
Reply
 
Thread Tools Display Modes
Old Sep 11, 2006, 09:46   #1
comicghozt
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">&nbsp;</td>
  </tr>
  <tr>
    <td height="135">&nbsp;</td>
  </tr>
</table>
</body>
</html>
cart.aspx

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>
I'm sorry for the size, but I really don't know where the error might be... Please help me, I'm getting desperate

Thanx in advance.
comicghozt is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread | Next Thread »

Thread Tools
Display Modes

 
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Sponsored Links
 
Forum Jump


All times are GMT -7. The time now is 18:13.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Copyright 1998-2009, SitePoint Pty Ltd. All Rights Reserved