none
arama yapımı RRS feed

Yanıtlar

  • Merhabalar, 

    bir hafta önce bende aynı sorunla karşılaştım ama çözümünü buldum, yapmak istediğin birden fazla tabloda arama yapıp bir gridview veya başka bir veri gösterim controlüne aktarmaksa şunu yapabilirsin; açıklamak yerine kod olarak gösterirsem daha iyi anlayacağını umuyorum

       
                //haber
                DataTable dt_veriler = new DataTable(); 
    
                dt_veriler.Columns.Add("href");
                dt_veriler.Columns.Add("tabloadi");
                dt_veriler.Columns.Add("id");
                dt_veriler.Columns.Add("tarih");
                dt_veriler.Columns.Add("baslik");
    
                baglantiislemleri();
                 cmd.CommandText = "select * from tbl_haber where baslik like '%@kelime%' or icerik like '%@kelime%'";
                cmd.Parameters.AddWithValue("@kelime", _arananKelime); 
                reader = k.cmd.ExecuteReader();
                while (k.reader.Read())
                {
                    dt_veriler.Rows.Add("haber","Haber",k.reader["id"].ToString(), k.reader["tarih"].ToString(), k.reader["baslik"].ToString());
                }
                reader.Close(); 
                 
                //duyuru 
                cmd.CommandText = "select * from tbl_duyuru where baslik like '%@kelime%' or icerik like '%@kelime%'";
                cmd.Parameters.AddWithValue("@kelime", _arananKelime); 
                reader = k.cmd.ExecuteReader();
                while (k.reader.Read())
                {
                    dt_veriler.Rows.Add("duyuru","Duyuru", k.reader["id"].ToString(), k.reader["tarih"].ToString(), k.reader["baslik"].ToString());
                }
                reader.Close(); 
                 
             
    
                conn.Close();
                //lstveriler listview kontrolüdür.
                lstVeriler.DataSource = dt_veriler;
                lstVeriler.DataBind();
    ben burada iki tablo üstünde gösterdim ama istediğin kadar ekleyebilirsin.


    18 Mayıs 2014 Pazar 22:38

Tüm Yanıtlar

  • Merbala;

    Örnek;

    public DataTable Ara(Kelime)
    {
       SqlCommand Komut = new SqlCommand("SELECT * FROM Haberler WHERE Aktif=1 AND (Baslik LIKE '%' + @AnahtarKelime + '%' OR Icerik LIKE '%' + @AnahtarKelime + '%' OR Ozet LIKE '%' + @AnahtarKelime + '%')", baglanti);
       Komut.Parameters.AddWithValue("@AnahtarKelime", txtAra.Text);
       SqlDataAdaptor DA = new SqlDataAtaptor(Komut);
       DataTable DT = new DataTable();
       DA.Fiil(DT);
       return DT;
    }

    gibi

    Kolay Gelsin.


    Yunus Emre ALTINAY

    18 Mayıs 2014 Pazar 18:50
  • Merhabalar, 

    bir hafta önce bende aynı sorunla karşılaştım ama çözümünü buldum, yapmak istediğin birden fazla tabloda arama yapıp bir gridview veya başka bir veri gösterim controlüne aktarmaksa şunu yapabilirsin; açıklamak yerine kod olarak gösterirsem daha iyi anlayacağını umuyorum

       
                //haber
                DataTable dt_veriler = new DataTable(); 
    
                dt_veriler.Columns.Add("href");
                dt_veriler.Columns.Add("tabloadi");
                dt_veriler.Columns.Add("id");
                dt_veriler.Columns.Add("tarih");
                dt_veriler.Columns.Add("baslik");
    
                baglantiislemleri();
                 cmd.CommandText = "select * from tbl_haber where baslik like '%@kelime%' or icerik like '%@kelime%'";
                cmd.Parameters.AddWithValue("@kelime", _arananKelime); 
                reader = k.cmd.ExecuteReader();
                while (k.reader.Read())
                {
                    dt_veriler.Rows.Add("haber","Haber",k.reader["id"].ToString(), k.reader["tarih"].ToString(), k.reader["baslik"].ToString());
                }
                reader.Close(); 
                 
                //duyuru 
                cmd.CommandText = "select * from tbl_duyuru where baslik like '%@kelime%' or icerik like '%@kelime%'";
                cmd.Parameters.AddWithValue("@kelime", _arananKelime); 
                reader = k.cmd.ExecuteReader();
                while (k.reader.Read())
                {
                    dt_veriler.Rows.Add("duyuru","Duyuru", k.reader["id"].ToString(), k.reader["tarih"].ToString(), k.reader["baslik"].ToString());
                }
                reader.Close(); 
                 
             
    
                conn.Close();
                //lstveriler listview kontrolüdür.
                lstVeriler.DataSource = dt_veriler;
                lstVeriler.DataBind();
    ben burada iki tablo üstünde gösterdim ama istediğin kadar ekleyebilirsin.


    18 Mayıs 2014 Pazar 22:38
  • Ama ben şöyle istiyorum.

    Benim haber1 haber2 haber3.....  diye sayfalarım var. mesela haber 1 de xxxx yazıyor aramaya da xxxx yazıldıgında haber 1 sayfası açılsın istiyorum.

    19 Mayıs 2014 Pazartesi 06:59
  • Eğer o sayfaların veritabanından çekerek verileri alıyorsa, Lokman beyin dediği sistemde yapabilirsin.
    19 Mayıs 2014 Pazartesi 08:48
  • Merhabalar;

    haber1, haber2, haber3 sayfalarından kastınız sanırım kategori mantığı(yanlışsam düzeltin)

    Eğer kategori mantığı yapıyorsanız haberler, kategoriler adında iki tablonuz olsun en basitinden

    Şeklinde zaten bu şekilde daha dinamik olur ve bir kategori içerisinde aratırkende Url den aldığınızı varsayıyorum

    localhost:60015/Kategori.aspx?kid=5

    public DataTable Ara(Kelime)
    {
       SqlCommand Komut = new SqlCommand("SELECT * FROM Haberler WHERE KategoriId=@kid AND Aktif=1 AND (Baslik LIKE '%' + @AnahtarKelime + '%' OR Icerik LIKE '%' + @AnahtarKelime + '%' OR Ozet LIKE '%' + @AnahtarKelime + '%')", baglanti);
       Komut.Parameters.AddWithValue("@kid", Request.QueryString["kid"].ToString());  //ya da RouteData.Values["kid"].ToString(); //Url Routing kullanıyorsan
       Komut.Parameters.AddWithValue("@AnahtarKelime", txtAra.Text);
       SqlDataAdaptor DA = new SqlDataAtaptor(Komut);
       DataTable DT = new DataTable();
       DA.Fiil(DT);
       return DT;
    }

    Şeklinde kullanabilirsiniz.

    Eğer bu şekilde değilse daha detaylı bir şekilde anlatır ve yapmış olduğun kodlarıda paylaşırsan daha iyi yardımcı oluruz.

    Kolay Gelsin.


    Yunus Emre ALTINAY



    19 Mayıs 2014 Pazartesi 16:07
  • aynen böyle de benim kategoriler adında tablom yok 
    19 Mayıs 2014 Pazartesi 16:24
  • Bence kategoriler adında bir tablo oluşturun ve bu şekilde kullanın yoksa işler sarpa sarır haberiniz olsun.

    Kolay Gelsin.


    Yunus Emre ALTINAY

    20 Mayıs 2014 Salı 13:02