• 28-08-2009, 16:08:27
    #1
    Merhaba arkdaşlar

    Karşılaştığım ve atlayamadığım bir problem var

    Şöyleki 2 tane form olmuş olsun.

    From 1 deki textbox ima bir kelime giriyorum sonra form 2 deki sql sorgu kodları ile aramayı gerçekleştirip listwievde göstermek istiyorum... Bu işleimi direk form 2 nin içinde yaparsam Çalışıyor yani form iki içinde yazdığım kodlarla çalıştırıyorum fakat form 1 deki textbox a girilen değerin bu aramayı yapmayı yani sql sorgusuna dahil olmasını istiyorum gerekli tanımlamaları da yapıyorum ama olmuyor aşağıdaki satırda aşağıdaki hatayı alıyorum.

    SqlDataReader listelerdr = command.ExecuteReader(); Satırında

    Aşağıdaki hata mesajı



    Parameterized Query '(@kelime nvarchar(4000))Select * From Kisiler Where Ad Like '%'+' expects parameter @kelime, which was not supplied.

    From1 deki puclic string tanımlaması
          public string araMa;
            private void btnMerkezKisiBul_Click(object sender, EventArgs e)
            {
               
                frmKisiArama yeniFrorumArama = new frmKisiArama();
                yeniFrorumArama.ShowDialog();
                string kutudaki;
                kutudaki = txtMerkezKisiBul.Text.ToString();
                kutudaki.Trim();
                araMa = kutudaki;
            }
    Form 2 kodları , bağlantı ve sorgu kodu

    private void frmKisiArama_Load(object sender, EventArgs e)
            {
                frmMerkez frmAra = new frmMerkez();
                string AramaYap = frmAra.araMa;
    
                    SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=telefonDefteri;Integrated Security=SSPI;");
    
                    SqlCommand command = new SqlCommand("Select * From Kisiler Where Ad Like '%'+ @kelime +'%'", conn);
                    command.Parameters.AddWithValue("@kelime",AramaYap);
    
                  
    
                        conn.Open();
                        SqlDataReader listelerdr = command.ExecuteReader();
  • 29-08-2009, 04:24:47
    #2
    Selam,
    From2 nin constructorunda form1 den gelen veriyi almalı ve kullanmalısın.
    Form 1 de form2 yi yaratırkende bu constructora göre yaratmalısın.

    form1 içinde tuşa basıldığında verinin form 2 deki bir işlemde kullanılmasını istiyorsun;
    Form2 frm2 = new Form2(string arama);// tabiki bu kurala uygun bir constructor ın olmalı...

    Form2 içerisinde ;
    public aramaform2 = "";
    public Form2(string arama)
    {
    InitializeComponents();//Var olan constructor dan aynen alınacak kısım ...
    aramaform2 = arama;// artık form 2 içerisidne istediğin yerde kullan..
    }

    Kolay gelsin...