Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Object reference not set to an instance of an object

Postades av 2006-03-23 22:21:29 - Henrik Söderlind, i forum asp.net generellt, Tråden har 4 Kommentarer och lästs av 428 personer

Har fortfarande problem att visa mina kategorier på ett snyggt sätt. Har skrivit om mitt php-skript till C#. När jag kör php-skriptet så fungerar det jättebra, men inte när jag kör C#-skriptet.
Så här ser min kod ut:

    protected void categoriesLabel_Load(object sender, EventArgs e)
    {
        int prevID = 0;
        int firstElement = 0;
        int lastID = 0;
        int firstID = 0;
        object[][] foo = new object[15][];
        string returnString = "";
        ArrayList cPath = new ArrayList();
        int index = 0;
        
        osAuction.Categories categories = new osAuction.Categories();
        
        if (Request.QueryString["cat"] != null)
        {
            string[] cat = categories.SplitcPath(Request.QueryString["cat"]);

            for (int k = 0; k < cat.Length; k++)
            {
                cPath.Add(cat[k]);
            }
        }

        osAuction.Database.Database objDb = new osAuction.Database.Database();
        OleDbDataReader objReader;
        string sqlCategories = "SELECT categories.categories_id, categories.parent_id," +
                "categories_description.categories_name FROM (categories INNER JOIN " +
                "categories_description ON categories.categories_id = categories_description.categories_id) " +
                "WHERE categories.parent_id = 0 ORDER BY categories.sort_order, categories_description.categories_name";
        objReader = objDb.Query(sqlCategories);

        while (objReader.Read())
        {
            foo[index] = new object[5] {objReader.GetString(2), objReader.GetInt32(1),
                0, objReader.GetInt32(0), 0}; //[0]categories_name, [1]parent_id, [2]level,
                                              //[3]categories_id, [4]nextID

            /* Vad gör denna?
            if (prevID != 0)
            {
                foo[prevID][4] = objReader.GetInt32(0);
            }

            prevID = objReader.GetInt32(0);
            */
            
            // Vad gör denna?
            if (firstElement == 0)
            {
                firstElement = objReader.GetInt32(0);
            }
            //

            index++;
        }

        if (cPath.Count > 0)
        {
            osAuction.Database.Database objDb2 = new osAuction.Database.Database();
            OleDbDataReader objReader2;

            string newPath = "";
            for (int j = 0; j < cPath.Count; j++)
            {
                prevID = 0;
                firstID = 0;
                int value = Convert.ToInt32(cPath[j]);
                
                string sqlCategories2 = "SELECT categories.categories_id, categories.parent_id," +
                        "categories_description.categories_name FROM (categories INNER JOIN " +
                        "categories_description ON categories.categories_id = categories_description.categories_id) " +
                        "WHERE categories.parent_id = " + value + " ORDER BY categories.sort_order, categories_description.categories_name";

                objReader2 = objDb2.Query(sqlCategories2);

                if (objReader.HasRows)
                {
                    newPath += cPath[j];

                    while (objReader2.Read())
                    {
                        foo[index] = new object[5] {objReader2.GetString(2) ,
                            objReader2.GetInt32(1), j+1, newPath + "_" + objReader2.GetInt32(0),
                            0}; //[0]categories_name, [1]parent_id, [2]level, [3]path, [4]nextID

                        /* Vad gör denna?
                        if (prevID != 0)
                        {
                            foo[prevID][4] = objReader2.GetInt32(0);
                        }

                        prevID = objReader2.GetInt32(0);
                        */
                        
                        /* Vad gör denna?
                        if (firstID == 0)
                        {
                            firstID = objReader2.GetInt32(0);
                        }
                        //

                        //Vad gör denna?
                        lastID = objReader2.GetInt32(0);
                        */
                    }

                    /* Vad gör denna?
                    foo[lastID][4] = foo[firstID][4];
                    foo[value][4] = firstID;
                    */
                }
                else
                {
                    break;
                }
            }
        }
        categoriesLabel.Text = ShowCategory(firstElement, 0, foo, cPath, returnString);
        for (int i = 0; i < cPath.Count; i++)
        {
            categoriesLabel.Text += "[" + i + "]&nbsp;" + cPath[i];
        }
    }

    public string ShowCategory(int firstElement, int index, object[][] foo, ArrayList cPath, string returnString)
    {
        //string returnString;
        string newcPath;
        osAuction.Categories categories = new osAuction.Categories();
        int level = Convert.ToInt32(foo[index][2]);
        int parentID = Convert.ToInt32(foo[index][1]);
        string categoriesName = Convert.ToString(foo[index][0]);
        int nextID = Convert.ToInt32(foo[index][4]);
        
        for (int i = 0; i < level; i++)
        {
            returnString += "&nbsp;&nbsp;";
        }

        returnString += "";

        string conFirstElement = Convert.ToString(firstElement);
        
        for (int i = 0; i < cPath.Count; i++)
        {
            if (cPath[i] == conFirstElement)
            {
                returnString += "";
                break;
            }
        }

        returnString += categoriesName;

        for (int i = 0; i < cPath.Count; i++)
        {
            if (cPath[i] == conFirstElement)
            {
                returnString += "";
                break;
            }
        }
        /*if (categories.HasSubCategories(firstElement))
        {
            returnString += "";
        }*/

        returnString += "";
        returnString += "<br />";

        if (nextID != 0)
        {
            index = index + 1;
            ShowCategory(nextID, index, foo, cPath, returnString);
        }
        return returnString;
    }


Kompileraren säger: "Object reference not set to an instance of an object" på rad 187:
while (objReader2.Read())


Jag fattar nada. Någon som har ett hum vad det är som spökar?


Svara

Sv: Object reference not set to an instance of an object

Postades av 2006-03-23 23:27:36 - Oskar Johansson

Antagligen så retunerar metoden "objDb2.Query(sqlCategories2);" null.


Svara

Sv:Object reference not set to an instance of an object

Postades av 2006-03-23 23:33:46 - Henrik Söderlind

Det trodde jag med till en början men enligt databasen så ska det returneras en rad.


Svara

Sv: Object reference not set to an instance of an object

Postades av 2006-03-24 07:50:17 - Jenny Månsson

du har glömt siffran 2 på hasrows.....:

if (objReader.HasRows)
{
newPath += cPath[j];

while (objReader2.Read())


Svara

Sv:Object reference not set to an instance of an object

Postades av 2006-03-24 14:50:25 - Henrik Söderlind

Ja så kan det vara när man har så pass lika variabler hehe.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
6 191
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies