|
Poslao: 08 Apr 2016 12:50
|
offline
- stanko.pepic

- Novi MyCity građanin
- Pridružio: 08 Apr 2016
- Poruke: 4
|
U diskonektovanom scenariju preko Visual Studija pristupam bazi u SQL- u i ispisuje mi grešku NullRefferenceException was unhandled, znam da je pitanje početničko ali šta mi ječiniti da ovo proradi?
Hvala unapred :-)
|
|
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 08 Apr 2016 12:59
|
offline
- Markobg

- Elitni građanin
- Pridružio: 24 Dec 2007
- Poruke: 1592
- Gde živiš: Beograd
|
Da li si obrisao InitializeComponent(); iz konsktuktora, ukoliko ne pozoves InitializeComponent() pre prisutapnju UI elementima dobices ovu gresku u vecini slucajeva, barem je kod mene to bio slucaj...
|
|
|
|
|
|
|
Poslao: 08 Apr 2016 13:28
|
offline
- stanko.pepic

- Novi MyCity građanin
- Pridružio: 08 Apr 2016
- Poruke: 4
|
Napisano: 08 Apr 2016 14:28
Mislim da to nije u pitanju evo kompletan kod :
public partial class MainWindow : Window
{
private SqlDataAdapter da;
private DataSet ds;
public MainWindow()
{
InitializeComponent();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
DataTable tbl = ds.Tables["Customers"];
DataRow prvaVrsta = tbl.Rows[0];
StringBuilder sb = new StringBuilder();
sb.AppendLine(prvaVrsta["CustomerID"].ToString());
sb.AppendLine(prvaVrsta["CompanyName"].ToString());
sb.AppendLine(prvaVrsta["City"].ToString());
textBlock1.Text = sb.ToString();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
da = new SqlDataAdapter("SELCT * FROM Customers", Konekcija.cnnNorthwind);
ds = new DataSet();
da.Fill(ds, "Customers");
}
}
Dopuna: 08 Apr 2016 14:28
i on mi javlja tu grešku koju sma prethodno naveo .
|
|
|
|
|
|
|
Poslao: 08 Apr 2016 17:04
|
offline
- vasa.93

- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14828
- Gde živiš: Niš
|
Šta je diskonektovan scenario? Jesi probao da dibaguješ program da vidiš gde tačno puca?
Elem, exception koji dobijaš je sasvim jasan. Neka referenca koju upotrebljavaš kao da je različita od null je zapravo null, pa to onda puca. Samo treba da uloviš koja i zbog čega. Svakako, svaki deo koda koji baca neki exception treba braniti try/catch blokovima, odnosno treba hendlovati te izuzetke. Rad sa bazom podataka je uglavnom jedan takav primer. A verujem da tu i leži problem...
|
|
|
|
|
|
|
Poslao: 08 Apr 2016 18:47
|
offline
- stanko.pepic

- Novi MyCity građanin
- Pridružio: 08 Apr 2016
- Poruke: 4
|
Diskonektovano znači da se na bazu kačim preko DataAdaptera koji je gore naznačen kao prvatno polje
, aplikacija javlja grešku na ovoj liniji koda.
DataRow prvaVrsta = tbl.Rows[0];
|
|
|
|
|
|
|
Poslao: 08 Apr 2016 21:57
|
offline
- vasa.93

- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14828
- Gde živiš: Niš
|
Promenljiva tbl verovatno ima vrednost null u tom momentu. Proveri. Ako da, verovatno u data set-u ne postoji tabela Customers.
Svakako, potraži neki tutorijal vezan za dibagovanje programa u VS-u, ukoliko postoji. Trebaće ti par minuta da naloviš gde je greška, a valjda ćeš i shvatiti šta ne valja.
|
|
|
|
|
|
|
|
|
Poslao: 17 Jul 2016 11:38
|
offline
- Pridružio: 16 Feb 2011
- Poruke: 1630
- Gde živiš: Pancevo
|
Markobg ::Da li si obrisao InitializeComponent(); iz konsktuktora, ukoliko ne pozoves InitializeComponent() pre prisutapnju UI elementima dobices ovu gresku u vecini slucajeva, barem je kod mene to bio slucaj...
Nece dobiti nikakvu gresku jer ce se izvrsiti parent kontruktor i pokazace se prazna forma. Zaboravio si da je to izvedena klasa iz System.Windows.Forms.Form koja sama kreira instancu u svom konstruktoru.
NullRefferenceException - Pokusavas da koristis nesto sto je NULL ili NOTHING.
Jedan od razloga moze biti da pokusavas da pristupis nekoj referenci koja jos nije kreirana ili je kreirana ali se neodaziva.
Npr: Kreirao si ds ciji je referenti tip System.Data.DataType a nisi objekat dodelio referenci! CLR ima da baci ovaj exception kad go je null...
U sustini da se nepravim pametan previse greska ti se vidi iz aviona:
DataTable tbl = ds.Tables["Customers"];
referenci tbl si dodelio tio System.Data.DataTable tip a nisi joj dodelio referencu. Tako da je NULL.
Fix:
DataTable tbl = new DataTable();
tbl.Ds.Tables["Customers"];
Aj uzdravlje
|
|
|
|
|
|