none
int değerlerini string e çevirirmisiniz

    Soru

  •  int id = 0;
            private void listView2_SelectedIndexChanged(object sender, EventArgs e)
            {
                try
                {
                    id = Convert.ToInt32(listView2.SelectedItems[0].SubItems[0].Text);
                    OleDbCommand veri = new OleDbCommand("select yazi from gunluk where tarih='" + listView2.SelectedItems[0].SubItems[1].Text + "' and id=" + id + "", baglan);
                    OleDbDataReader oku = null;
                    baglan.Open();
                    oku = veri.ExecuteReader();
                    while (oku.Read())
                    {
                        richTextBox1.Text = oku.GetString(0).ToString();


                    }
                    oku.Close();
                    baglan.Close();
                }
                catch
                {


                }
            }

    burada int olduğunda databaseden gelen verileri listeleyip içindekileri richtextboxa yazıyor ama ben id yi stringe çevirip databasedende string yapınca listeleme işlemi olmuyor 

    07 Haziran 2012 Perşembe 21:20

Yanıtlar

  • Merhabalar,

     OleDbCommand veri = new OleDbCommand("select yazi from gunluk where tarih='" + listView2.SelectedItems[0].SubItems[1].Text + "' and id=" + id + "", baglan);

    Bu şekilde sorgu gönderirsen sql injection yersin.Öncelikle bu konuda uyarmak istedim.Bunu önlemek için sorgunda parametre kullanıp daha sonra bu parametrelere değer eklemen gerekmektedir.Sanırım bu yol ile int dönüşümü sorununda çözülür.

    OleDbCommand veri = new OleDbCommand("select yazi from gunluk where tarih=@tarih and id=@id",baglan);

    veri.Parameters.AddWithValue("tarih",listView2.SelectedItems[0].SubItems[1].Tex);

    veri.Parameters.AddWithValue("id",id);

    olarak düzenleme yaptıktan sonra çalışacaktır.

    Kolay gelsin...

    • Yanıt Olarak Öneren BKRHBK 07 Haziran 2012 Perşembe 22:18
    • Yanıt Olarak İşaretleyen Emre GunerturkModerator 13 Haziran 2012 Çarşamba 06:05
    07 Haziran 2012 Perşembe 21:58

Tüm Yanıtlar

  •               OleDbCommand veri = new OleDbCommand("select yazi from gunluk where tarih='" + listView2.SelectedItems[0].SubItems[1].Text + "' and id=" + listView2.SelectedItems[0].SubItems[0].Text+ "", baglan)

    Böyle yaptığında olması gerekiyor. Eğer bir hata veriyorsa Break point koyup değerleri kontrol et. Belkide tarih formati ile ilgili bir hata yapıyorsun..

    07 Haziran 2012 Perşembe 21:56
  • Merhabalar,

     OleDbCommand veri = new OleDbCommand("select yazi from gunluk where tarih='" + listView2.SelectedItems[0].SubItems[1].Text + "' and id=" + id + "", baglan);

    Bu şekilde sorgu gönderirsen sql injection yersin.Öncelikle bu konuda uyarmak istedim.Bunu önlemek için sorgunda parametre kullanıp daha sonra bu parametrelere değer eklemen gerekmektedir.Sanırım bu yol ile int dönüşümü sorununda çözülür.

    OleDbCommand veri = new OleDbCommand("select yazi from gunluk where tarih=@tarih and id=@id",baglan);

    veri.Parameters.AddWithValue("tarih",listView2.SelectedItems[0].SubItems[1].Tex);

    veri.Parameters.AddWithValue("id",id);

    olarak düzenleme yaptıktan sonra çalışacaktır.

    Kolay gelsin...

    • Yanıt Olarak Öneren BKRHBK 07 Haziran 2012 Perşembe 22:18
    • Yanıt Olarak İşaretleyen Emre GunerturkModerator 13 Haziran 2012 Çarşamba 06:05
    07 Haziran 2012 Perşembe 21:58