Click here to Skip to main content
Sign Up to vote bad
good
See more: C#
Hi here is the code I wrote. there is no error at my connection and my database is filled with data which I want to take but I cant get "Urunler.isim" datas I always get "No data exists for the row/column" error message at my sSQL2 code thanks already for your help Smile | :) .
 
 class urunadapter
    {
        public void urungetir(string firma , ComboBox cmburun) 
        {
            companymodel.cnvt conn = new companymodel.cnvt();
            conn.baglan();
            DataSet dt = new DataSet();
            
            string sSQL = "SELECT * FROM Firmalar WHERE Firmalar.isim='" + firma + "'";
            OleDbCommand komut = new OleDbCommand(sSQL,conn.baglanti);
            OleDbDataReader oku = komut.ExecuteReader();
            
            
            string sSQL2 = "SELECT Urunler.isim FROM Urunler WHERE Firmalar.FirmaID="+oku["FirmaID"]+"";
            komut = new OleDbCommand(sSQL2,conn.baglanti);
            OleDbDataAdapter adp = new OleDbDataAdapter(komut);
            adp.Fill(dt, "Urunler");
            cmburun.Items.Add("Seçiniz");
            cmburun.SelectedIndex = 0;
            foreach (DataRow listele in dt.Tables["Urunler"].Rows)
            {
                string satir = listele[0].ToString();
                bool durum = cmburun.Items.Contains(satir);
                if(!durum)
                {
                    cmburun.Items.Add(satir).ToString();
                }
            }
            conn.bkes();
Posted 31 Dec '10 - 20:20
Beytul392


1 solution

Since you are using DataReader , The default position of the OledbDataReader is before the first record. Therefore, you must call Read to begin accessing any data.
You should Call
//Call Read method on oku before accessing data.
OleDbDataReader oku = komut.ExecuteReader();
while (oku.Read()) 
{
 // Access record of oku in loop , if you are suppoosed to get zero or more than one record

}            
 
oku.Read() will return false in case no record exists, so you should always evaluate oku.Read() before accessing any data either using If or While or whatever you like.
  Permalink  
Comments
Manfred R. Bihy - 1 Jan '11 - 12:14
Good call! 5+

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Your Filters
Interested
Ignored
     
0 OriginalGriff 253
1 Rohan Leuva 220
2 Abhinav S 168
3 Mahesh Bailwal 165
4 Ron Beyer 160
0 Sergey Alexandrovich Kryukov 8,528
1 OriginalGriff 6,819
2 CPallini 3,603
3 Rohan Leuva 2,923
4 Maciej Los 2,268


Advertise | Privacy | Mobile
Web02 | 2.6.130516.1 | Last Updated 1 Jan 2011
Copyright © CodeProject, 1999-2013
All Rights Reserved. Terms of Use
Layout: fixed | fluid