s.a.

2 sorum var yardım ederseniz sevinirim... Access 2007 de çalışıyorum

ilk sorum su arkadaşlar, ilçelere oteller ekledim, comboboxta ilçeleri listeliyorum, ilçe seçip arama butonuna basınca listbox da o ilçedeki otelleri çıkartıyor.

private void otelarabuton_Click(object sender, EventArgs e)
        {
            
            int ilce_id = Convert.ToInt32(comboBox1.SelectedValue);
            OleDbDataAdapter otelara = new OleDbDataAdapter("SELECT * FROM oteller WHERE ilce = "+ilce_id+"", turizm_baglan);
            OleDbCommandBuilder otelara_komut = new OleDbCommandBuilder(otelara);
            DataSet oa_sonuc_set = new DataSet();
            DataTable oa_sonuc_table = new DataTable();
            otelara.Fill(oa_sonuc_set);
            otelara.Fill(oa_sonuc_table);
            if (oa_sonuc_table.Rows.Count == 0)
            {
                MessageBox.Show("Bu ilçede otel bulunmamaktadır!");
            }
            else
            {

                listBox1.DataSource = oa_sonuc_set.Tables[0];
                listBox1.DisplayMember = oa_sonuc_table.Columns["oteladi"].ColumnName;
                listBox1.ValueMember = oa_sonuc_table.Columns[0].ColumnName;
            }
        
       }
buraya kadar birsey yok..

benim istediğim, listelenen otellerden herhangi birine tıklanınca yanda bulunan label'larda o otele ait bilgilerin listelenmesi... onuda söyle yapıyorum...

private void listBox1_DoubleClick(object sender, EventArgs e)
        {
            label3.Visible = true;
            label4.Visible = true;
            label5.Visible = true;
            label9.Visible = true;
            linkLabel1.Visible = true;
            pictureBox1.Visible = true;
            
            OleDbDataAdapter otel_bilgi = new OleDbDataAdapter("SELECT * FROM oteller WHERE oteladi = '" + listBox1.SelectedValue.ToString() + "'", turizm_baglan);
            OleDbCommandBuilder ob_komut = new OleDbCommandBuilder(otel_bilgi);
            DataTable otel_bilgi_table = new DataTable();
            otel_bilgi.Fill(otel_bilgi_table);
            label9.Text = Convert.ToString(otel_bilgi_table.Rows[osayi]["oteladi"]);
            linkLabel1.Text = Convert.ToString(otel_bilgi_table.Rows[osayi]["link"]);
            pictureBox1.ImageLocation = Convert.ToString(otel_bilgi_table.Rows[osayi]["otelresim"]);
            label9.Text = listBox1.SelectedIndex.ToString();
        }
hata su; otellerden herhangi birine tıklanınca resimdeki hatayı alıyorum.


listboxta bir otel seçilince, yine veritabanında arama yapıyor ve datatable a aktarıyorum. bunun baska bir yolu var mı ? yada hatam nerede?

-----------------------------------------------------------------------------------

2. sorum

2 datetimepicker ım var, bunlarda seçilen iki tarih ile, veritabanında bu iki tarih arasında arama yapıyorum...

private void button8_Click(object sender, EventArgs e)
        {
            
            string tr1 = dateTimePicker1.Value.Date.ToString();
            string tr2 = dateTimePicker1.Value.Date.ToString();
            string tar1 = tr1.Replace(" 00:00:00", "");
            string tar2 = tr2.Replace(" 00:00:00", "");
            label18.Text = tar1;
            label19.Text = tar2;
            OleDbDataAdapter ara = new OleDbDataAdapter("SELECT * FROM kultur WHERE tarih BETWEEN '"+tar1+"' AND '"+tar2+"'", turizm_baglan);
            OleDbCommandBuilder arakomut = new OleDbCommandBuilder(ara);
            DataSet arasonuc = new DataSet();
            ara.Fill(arasonuc);

            
            
        }
fakat şu şekilde bir hata alıyorum;



bunda nerede hata var ? sonuçları yine listbox a aracam. ama table ' da hata veriyor...

dogru arama şekli nedir acaba ? teşekkurler...