Avatar billede sbjerre Nybegynder
04. september 2002 - 16:13 Der er 5 kommentarer og
1 løsning

Underlig fejl medd. under connection til SQL server

Jeg får følgende fejl ud når jeg forsøger at køre nedenstående kode:

*******************************************************
Server Error in '/Lokalereservation' Application.
--------------------------------------------------------------------------------

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS0234: The type or namespace name 'myDataset' does not exist in the class or namespace 'Lokalereservation' (are you missing an assembly reference?)

Source Error:



Line 36:             </asp:calendar>
Line 37:             <asp:label id="Label1" style="Z-INDEX: 105; LEFT: 28px; POSITION: absolute; TOP: 12px" runat="server" Font-Names="Verdana" Height="11px" Width="211px" Font-Bold="True">Lokalereservation</asp:label><asp:label id="Label2" style="FONT-WEIGHT: bold; Z-INDEX: 106; LEFT: 27px; POSITION: absolute; TOP: 45px" runat="server" Font-Size="XX-Small" Font-Names="Verdana" Width="42px">Lokaler</asp:label><asp:label id="Label_Reserveringer" style="Z-INDEX: 107; LEFT: 24px; POSITION: absolute; TOP: 238px" runat="server" Font-Size="XX-Small" Font-Names="Verdana" Height="9px" Width="116px" Font-Bold="True">Reserveringer for d.</asp:label><asp:label id="Label_ValgtDato" style="Z-INDEX: 108; LEFT: 145px; POSITION: absolute; TOP: 238px" runat="server" Font-Size="XX-Small" Font-Names="Verdana" Height="1px" Width="117px" Font-Bold="True">Label</asp:label><asp:label id="Label_Lokale" style="Z-INDEX: 109; LEFT: 251px; POSITION: absolute; TOP: 238px" runat="server" Font-Size="XX-Small" Font-Names="Verdana" Height="9px" Width="36px" Font-Bold="True">Lokale :</asp:label><asp:label id="Label_ValgtLokale" style="Z-INDEX: 110; LEFT: 303px; POSITION: absolute; TOP: 238px" runat="server" Font-Size="XX-Small" Font-Names="Verdana" Height="6px" Width="46px" Font-Bold="True">Label</asp:label>
Line 38:             <asp:DataGrid id="DataGrid1" style="Z-INDEX: 111; LEFT: 16px; POSITION: absolute; TOP: 272px" runat="server" Height="70px" Width="575px" DataSource="<%# Lokalereservation.myDataset %>">
Line 39:             </asp:DataGrid></form>
Line 40:     </body>


Source File: http://localhost/Lokalereservation/index1.aspx    Line: 38


************* fejl medd slut **************************

Her er koden.....



*************** asp.net kode **************************

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace Lokalereservation
{
    /// <summary>
    /// Summary description for WebForm1.
    /// </summary>
    public class WebForm1 : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.ListBox ListBox_lokaler;
        protected System.Web.UI.WebControls.Calendar Calendar_oversigt;
        protected System.Web.UI.WebControls.Label Label1;
        protected System.Web.UI.WebControls.Label Label2;
        protected System.Web.UI.WebControls.Label Label_Reserveringer;
        protected System.Web.UI.WebControls.Label Label_ValgtDato;
        protected System.Web.UI.WebControls.Label Label_Lokale;
        protected System.Web.UI.WebControls.DataGrid DataGrid1;
        protected System.Web.UI.WebControls.Label Label_ValgtLokale;
        protected System.Data.DataSet myDataset;
   
        public void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here
            // Datovalg defineres til Dags Dato ved lokaleskift
            Label_ValgtDato.Text = DateTime.Now.ToShortDateString();
            // Lokalevalg defineres til "Alle" hver gang siden reloades (F5)
            // Dermed vises Alle lokaler ved datoskift i Kalenderen
            Label_ValgtLokale.Text = "Alle";

            OleDbConnection Conn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;uid=dbtest;Initial Catalog=northwind");

            Conn.Open();

            try
            {
                OleDbDataAdapter dataadapter = new OleDbDataAdapter();
                OleDbCommand comm = new OleDbCommand("SELECT CategoryID, CategoryName FROM Categories");
                dataadapter.SelectCommand = comm;
                DataSet myDataset = new DataSet();
                dataadapter.Fill(myDataset);
                DataGrid1.DataBind();
            }
            catch (System.Data.OleDb.OleDbException)
            {
               
            }
            finally
            {
                Conn.Close();
            }
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
       
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {   
            this.ListBox_lokaler.SelectedIndexChanged += new System.EventHandler(this.ListBox_lokaler_SelectedIndexChanged);
            this.Calendar_oversigt.SelectionChanged += new System.EventHandler(this.Calendar_oversigt_SelectionChanged);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void Calendar_oversigt_SelectionChanged(object sender, System.EventArgs e)
        {
            Label_ValgtDato.Text = Calendar_oversigt.SelectedDate.Date.ToShortDateString();
            // Insert SQL code here to update reserveringer
            // "select * from reserveringer where res_date = " + Calendar_oversigt.SelectedDate.Date.ToShortDateString();
            // Show result in Datagrid
        }

        private void ListBox_lokaler_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            Label_ValgtLokale.Text = ListBox_lokaler.SelectedItem.Value.ToString();
        }

    }
}



*********************** kode slut ******************



Jeg er endnu ikke særlig skarp til .NET programmering, så det er muligt at det er en simpel fejl !

Håber I kan hjælpe, og skriv gerne hvis I vil have flere detaljer, så skal jeg se hvad jeg kan finde !

Vh sbjerre
Avatar billede sbjerre Nybegynder
04. september 2002 - 16:14 #1
Det vigtigste lige nu er at få noget fra databasen northwind skrevet ud i et datagrid, så hvis der er andre, måske smartere måder, er jeg meget lydhør

vh søren
Avatar billede cms Nybegynder
04. september 2002 - 16:23 #2
skal det ikke gøres public, dit myDataset field?
Avatar billede sbjerre Nybegynder
04. september 2002 - 16:49 #3
det lød meget rigtigt, men nu får jeg følgende fejl:


Fill: SelectCommand.Connection property has not been initialized.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Fill: SelectCommand.Connection property has not been initialized.

Source Error:


Line 48:                dataadapter.SelectCommand = comm;
Line 49:                 DataSet myDataset = new DataSet();
Line 50:                 dataadapter.Fill(myDataset);
Line 51:                 DataGrid1.DataBind();
Line 52:             }



ANy great ideas ?

/søren
Avatar billede cms Nybegynder
04. september 2002 - 23:04 #4
Du laver denne linje:

OleDbCommand comm = new OleDbCommand("SELECT CategoryID, CategoryName FROM Categories");

men glemmer at sætte comm's Connection til conn!
Avatar billede kichian Nybegynder
07. september 2002 - 00:58 #5
Arhh.... Du skal ikke bruge OleDb til at forbinde til en SQL Server.(punktum). Brug System.Data.SqlClient namespacet i stedet. Det er skrevet specifikt til SQL Server og er MEGET hurtigere end OleDb.
Avatar billede kichian Nybegynder
07. september 2002 - 01:08 #6
Jeg kan i øvrigt finde 2 fejl:
1. myDataset er defineret både globalt og i funktionen Page_Load. Dvs at i Page_Load refererer du IKKE til den globale myDataset. Kun den lokale.

2. Din fejlmeddelelse fortæller dig at der IKKE er sat en forbindelse i din dataadapter. Du åbner godt nok forbindelsen højere oppe. Men comm får ikke givet din Conn.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester