none
System.Data.OleDb.OleDbException: 'Gerekli bir veya daha fazla parametre için girilen değer yok.' Hatası RRS feed

  • Soru

  • Merhaba, her şeyi kontrol etmeme rağmen böyle bir hata alıyorum

            private void Form1_Load(object sender, EventArgs e)
            {
                con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbdwt1.accdb");
                DataTable dt = new DataTable();
                OleDbDataAdapter da = new OleDbDataAdapter("select * from brands ", con);
                da.Fill(dt);
                listBox1.ValueMember = "id";
                listBox1.DisplayMember = "nm";
    
                listBox1.DataSource = dt;
    
                DataTable dta = new DataTable();
                OleDbDataAdapter daa = new OleDbDataAdapter("select * from products ", con);
                daa.Fill(dta);
    
                listBox2.ValueMember = "id";
                listBox2.DisplayMember = "nm";
    
                listBox2.DataSource = dta;
    
    
    
                DataTable dtb = new DataTable();
                OleDbDataAdapter dab = new OleDbDataAdapter("select * from producttypes ", con);
                dab.Fill(dtb);
    
                listBox3.ValueMember = "id";
                listBox3.DisplayMember = "nm";
    
                listBox3.DataSource = dtb;
    
    
    
    
            }
    
    
    
    
    
    
    
    
    
    
    private void ListBox2_MouseClick(object sender, MouseEventArgs e)
            {
                if (listBox2.SelectedIndex != -1)
                {
                    DataTable dta = new DataTable();
                    OleDbDataAdapter das = new OleDbDataAdapter("select * from alltypec where model = " + listBox2.SelectedItem, con);
                    das.Fill(dta);
    
                    listBox5.DisplayMember = "turn";
                    listBox5.DataSource = dta;
    
    
                    DataTable dtb = new DataTable();
                    OleDbDataAdapter dasb = new OleDbDataAdapter("select * from allmodel where model = " + listBox2.SelectedValue, con);
                    dasb.Fill(dtb);
    
                    listBox6.DisplayMember = "modeln";
                    listBox6.DataSource = dtb;
    
    
    
                    DataTable dty = new DataTable();
                    OleDbDataAdapter day = new OleDbDataAdapter("select * from products ", con);
                    day.Fill(dty);
                    listBox9.ValueMember = "kod";
                    listBox9.DisplayMember = "nm";
    
                    listBox9.DataSource = dty;
                   panel1.Hide();
                    panel3.Show();
                }
            }

    aynı şekilde çalışan diğerleri sorunsuz olmasına rağmen böyle bir hata alıyorum

    16 Temmuz 2019 Salı 12:23

Tüm Yanıtlar

  • Hatalı bir sekilde SQL cümlesi calistirmaya calisiyorsunuz, ne yazık ki hala Boyle ornek veren yerler var :(

    ASLA ve ASLA, "select ..."+... tarzinda SQL cumlesi yazmayınız, sadece basinizi agritir, ne zaman agritacagi belli olmaz.

    listBox2.SelectedItem'in tipi belli degil, her ne ise once ona cast edin:

    var aranan = listBox2.SelectedItem as string; // asil tipi her ne ise
    
    if (aranan != null)
    {
      DataTable dta = new DataTable();
      OleDbDataAdapter das = new OleDbDataAdapter("select * from alltypec where model = @model", "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbdwt1.accdb");
      das.SelectCommand.Parameters.Add("@model", OleDbType.VarChar).Value = aranan; 
      das.Fill(dta);
    }
    gibi yazabilirsiniz. Bu arada, tavsiyem con gibi bir baglantiyi yaratıp ortalıkta tutmayın, onun yerine connectionstring kullanın.



    How to create a Minimal, Reproducible Example
    The way to Go.
    World's most advanced open source (object-) relational Database.
    Flutter (for mobile, for web & desktop.


    16 Temmuz 2019 Salı 14:30
    Yanıtlayıcı