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


Uppdatera dataset.

Postades av 2004-01-18 14:27:53 - Benni Svensson, i forum c# (c-sharp), Tråden har 5 Kommentarer och lästs av 809 personer

Jag kommer helt fel i att uppdatera DataSet, när det bara är en textBox att uppdatera.
<code>
ds.Tables["frånMusikKategori"].Rows[0][a]=KAllaVärden;
</code>
Jag har med mig "KAllaVärden", ocj det fält som skall uppdateras heter "Kategori"
När jag försöker som jag gör, så får jag error:
<code>
Objectsreferensen har inte angetts till en instans av objectet.
</code>
Vad gör jag för fel?


Svara

Sv: Uppdatera dataset.

Postades av 2004-01-18 15:06:10 - Per Hultqvist

En strategi som är bra att använda när man får det felmeddelandet är följande :
<code>
ds.Tables["frånMusikKategori"].Rows[0][a]=KAllaVärden;
</code>
Markera texten "ds" och välj QuickWatch (Shift + F9 om jag minns rätt). Om det står att värdet är null (eller Nothing i VB) så är problemet variabeln ds som inte pekar på ett objekt (dataset).

Kolla sedan samma sak för :
<code>
ds.Tables["frånMusikKategori"]
ds.Tables["frånMusikKategori"].Rows[0]
ds.Tables["frånMusikKategori"].Rows[0][a]
</code>
På det sättet kan du sluta dig till vilken objektreferens som är felaktig. I det här fallet kan det ju bero på följande saker :

* ds pekar inte på ett objekt
* Det finns ingen tabell som heter "frånMusikKategori"
* Det finns ingen rad 0, dvs .Rows.Count=0
* Variablen a har ett felaktigt värde så att ingen kolumn hittas. Variabeln a ska antingen vara ett heltal mellan 0 och antal kolumner minus ett, eller en sträng innehållande namnet på en kolumn.

Sedan skulle jag prova att lägga till ".Value" efter [a], det kan vara det som är problemet. Alltså
<code>
ds.Tables["frånMusikKategori"].Rows[0][a].Value=KAllaVärden;
</code>


Svara

Sv: Uppdatera dataset.

Postades av 2004-01-18 15:48:55 - Benni Svensson

Hej Hultan.
QuickWatch (Shift + F9 )får jag inte fram, hur jag än gör, hitttar ingenting om det im min VN.
Någonstans så ser jag tydligen helt fel, för fel är det ju.
Så här drar jag igång sa:
<code>
string SQLstring = "Select Kategori FROM t_Kategori Order BY Kategori";
da = new SqlDataAdapter(SQLstring,con);
ds = new DataSet("frånMusikKategori");
try
{
con.Open();
da.Fill(ds,"frånMusikKategori");
con.Close();
int rader = ds.Tables["frånMusikKategori"].Rows.Count;
nr = new string[rader];
for(int a=0;a<rader;a++)
{
listBox2.Items.Add
(ds.Tables["frånMusikKategori"].Rows[a]["Kategori"].ToString());
}
}
</code>
Och den fyller ju upp hur finnt som helst.
Tittar man på
<code>
ds.Tables["frånMusikKategori"].Rows[a]["Kategori"].ToString()
</code>
så borde ju
<code>
ds.Tables["frånMusikKategori"].Rows[0]]["Kategori"]=KAllaVärden;
</code>
stämma eller?
Jag kan inte se något som är galet.

Redan här så är det någonting märkvärdigt:
<code>
string SQL="Select Kategori FROM t_Kategori WHERE Kategori ='" + listBox2.SelectedItem + "'";
da = new SqlDataAdapter(SQL,con);
ds = new DataSet("frånMusikKategori");
con.Open();
da.Fill(ds,"frånMusikKategori");
con.Close();
textBox13.Text=ds.Tables["frånMusikKategori"].Rows[0]["Kategori"].ToString();
KkategoriView();//för att kunna se vilka ArrNo som har vilka kategorier
MessageBox.Show(ds.Tables["frånMusikKategori"].Rows[0]["Kategori"].ToString());
</code>
Som du ser så fyller jag upp textrutan ifrån ds.Tables["frånMusikKategori"], inga problem, men när jag lite längre ner vill titta på det via MessageBox, då får jag samma fel som tidigare.
Märkvärdigt...


Svara

Sv: Uppdatera dataset.

Postades av 2004-01-18 18:02:47 - Per Hultqvist

QuickWatch kan du få fram på flera sätt. Ett sätt är via en tangentkombination, men eftersom jag är gammal VB-kodare så valde jag VB-schema för tangentbordet så om du har valt ett annat schema så har du en annan tangentkombination för QuickWatch. Du kan även nå QuickWatch genom att högerklicka på den markerade texten och välja det i popupmenyn, alternativt via Debug-menyn.

Tyvärr har jag inga fler idéer om vad felet kan vara med koden...ska ta mig en funderare till...


Svara

Sv: Uppdatera dataset.

Postades av 2004-01-18 19:42:35 - Benni Svensson

Någonstans är det nog galet med min VN för jag hittar inte QuickWatch om jag så fördärmar mig.
I alla fall så löste jag problemet, ett förargligt stavfel.
Tack för din hjälp.


Svara

Sv: Uppdatera dataset.

Postades av 2004-01-18 21:27:11 - Per Hultqvist

Vad menar du med VN? Du använder väl Visual Studio.Net?

Jag tyckte det var självklart och man vill ju inte förolämpa någon genom att påpeka det uppenbara, men eftersom du inte hittar QuickWatch så påpekar jag det i alla fall :-)

Du måste vara i debug-läge för att kunna använda QuickWatch...alltså, sätt en breakpoint och se till att exekveringen stannar där.


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 155
27 952
271 704
6 076
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