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-08 02:27:43 - Mårten Nylén, i forum asp.net generellt, Tråden har 1 Kommentarer och lästs av 507 personer

Hej, detta är min första fråga på pellesoft.se, jag hoppas jag kan vara till hjälp men just det här har jag tokfastnat på eftersom jag är rätt ny på just C#. Detta är min aspx.cs-kod:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Configuration;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using Portal.DataBaseLogics;

public partial class _Default : System.Web.UI.Page
{
//DataView resultView;
DataBaseLogics DB = new DataBaseLogics();

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Label1.Text = "THE FRONT 2006";
if (Request.QueryString["f"] != null)
{
LoadPics(Convert.ToInt16(Request.QueryString["f"]));
}
else
{
LoadPics(0);
}
}
}

protected void LinkButton1_Click(object sender, EventArgs e)
{
Response.Redirect("Default.aspx");
LoadPics(0);
}

protected void LinkButton2_Click(object sender, EventArgs e)
{
LoadPics(1);
}

protected void LinkButton3_Click(object sender, EventArgs e)
{
LoadPics(2);
}

protected void LoadPics(int fieldType)
{
int f;
if (Request.QueryString["f"] == null && fieldType == 0)
{
f = 0;
}
else if (Request.QueryString["f"] != null && fieldType == 0)
{
f = 0;
}
else if (Request.QueryString["f"] == null && fieldType != 0)
{
f = fieldType;
}
else if (Request.QueryString["f"] != null && fieldType != 0)
{
f = fieldType;
}
else
{
f = Convert.ToInt16(Request.QueryString["f"]);
}
//MessageBox.Show("f=" + f.ToString(), "caption", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
if (Request.QueryString["p"] != null || f != 0)
{
int pid = Convert.ToInt16(Request.QueryString["p"]);
if (f == 0 || Request.QueryString["p"] != null)
{
//MessageBox.Show("Första steget och f=" + f.ToString(), "caption", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
DB.ConnectToData("SELECT pid, date, path, type FROM monthlyPics WHERE pid = " + pid + " AND type = " + f + "", 0);
//MessageBox.Show("Så många f=" + resultView.Table.Rows.Count, "caption", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
if (DB.resultView.Table.Rows.Count < 1)
{
DB.ConnectToData("SELECT pid, date, path, type FROM monthlyPics WHERE type = " + f + " ORDER BY pid DESC LIMIT 1", 0);
}
}
else
{
//MessageBox.Show("Här borta är f=" + f.ToString(), "caption", MessageBoxButtons.OK, MessageBoxIcon.None, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly);
DB.ConnectToData("SELECT pid, date, path, type FROM monthlyPics WHERE type = " + f + " ORDER BY pid DESC LIMIT 1", 0);
}
}
else
{
DB.ConnectToData("SELECT pid, date, path, type FROM monthlyPics WHERE type = " + f + " ORDER BY pid DESC LIMIT 1", 0);
}
switch(f)
{
case 0:
Label1.Text = "THE FRONT 2006";
break;

case 1:
Label1.Text = "THE SIDE 2006";
break;

case 2:
Label1.Text = "THE BACK 2006";
break;

default:
Label1.Text = "Error retrieving Label1.Text.";
break;
}

DB.resultView.Sort = "pid DESC";
DataList1.DataSource = DB.resultView;
DataList1.DataBind();

DB.ConnectToData("SELECT * FROM monthlyPics_tn WHERE type = " + f + " ORDER BY pid ASC", 0);

DataList2.DataSource = DB.resultView;
DataList2.DataBind();
}
}

och detta är klassen:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Security;
using MySql.Data.MySqlClient;

/// <summary>
/// Summary description for ConnectToData
/// </summary>
namespace Portal.DataBaseLogics
{
public class DataBaseLogics
{
public DataView resultView;

public void ConnectToData(string inCommand, int commandType)
{
DataView resultView;
string MyConString = ConfigurationManager.ConnectionStrings["MySQLConnectionString"].ConnectionString;
string dbError = "";
MySqlConnection connection = new MySqlConnection(MyConString);
connection.Open();

switch (commandType)
{
case 0:
try
{
DataTable result = new DataTable();
MySqlDataAdapter adapter = new MySqlDataAdapter(inCommand, connection);

adapter.Fill(result);

resultView = new DataView(result);
return;
}
catch (MySqlException ex)
{
dbError = "SELECT operation failed: " + ex + "";
resultView = new DataView();
}
finally
{
connection.Close();
}
break;

case 1:
try
{
MySqlCommand command = new MySqlCommand(inCommand, connection);
command.ExecuteNonQuery();
}
catch (MySqlException ex)
{
dbError = "UPDATE operation failed: " + ex + "";
}
finally
{
connection.Close();
}
break;

case 2:
try
{
MySqlCommand command = new MySqlCommand(inCommand, connection);
command.ExecuteNonQuery();
}
catch (MySqlException ex)
{
dbError = "DELETE operation failed: " + ex + "";
}
finally
{
connection.Close();
}
break;

default:
dbError = "No database operation selected.";
break;
}
}
}
}

Koderna kompilerar fint men exekveringen fastnar på:

Object reference not set to an instance of an object.
Line 119: DB.resultView.Sort = "pid DESC";

Jag har googlat mig blå på problem och mest hittat exempel där man ska ha behövt köra en .Copy på original-DataTable:n och sen utföra sort:en eller dylikt på denna... Tilläggas bör att tar jag bort sort:en på DataView:en så får jag samma fel på:

if (resultView.Table.Rows.Count < 1)

vilket torde betyda att det är något knas med just resultView-obejktet klasserna emellan.

Svar uppskattas och önskas!


Svara

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

Postades av 2006-03-08 09:18:55 - Ola Lindfeldt

DB eller resultView är null, tag reda på varför och du är på rätt väg.
Du kanske också ska testa om de är null innan du anropar dess egenskaper.

Här verkar det vara något du glömt?
if (resultView.Table.Rows.Count < 1)
borde varit
if (DB.resultView.Table.Rows.Count < 1)
?


Tips1: När du ställer frågor på nätet: försök skala ner ditt problem till mindre delar, väldigt få tycker det är roligt att läsa igenom all din källkod för att hjälpa dig hitta problemet.

Tips2: har du använt debuggern och stegat genom koden?
Det är oftast det snabbaste sättet att hitta problemen.
Stanna på den rad där det blir fel, inspektera variablerna.




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 603
27 953
271 705
6 094
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