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...