none
Must declare the scalar variable hatası RRS feed

  • Soru

  • Merhaba,

    Yapmıs oldugum form kaydında "Must declare the scalar variable "@isemrino"." hatası alıyorum.isemrino sql tarafında int olarak tanımlı.Kodlar aşağıda neden bu hatayı veriyor analamadım.

      OleDbConnection con = new OleDbConnection("Provider=sqloledb;Data Source=AAA;Initial Catalog=DENEME;User ID=ABC;password=123;");
                OleDbCommand cmd = new OleDbCommand("insert into isemri (isemrino,isyeri,isalani,isemridet,bastar,bittar)values(@isemrino,@isyeri,@isalani,@isemridet,@bastar,@bittar)", con);
                cmd.Parameters.AddWithValue("@isemrino",Convert.ToInt32(textBox1.Text));
                cmd.Parameters.AddWithValue("@isyeri", comboBox1.Text);
                cmd.Parameters.AddWithValue("@isalani", comboBox2.Text);
                cmd.Parameters.AddWithValue("@isemridet", richTextBox1.Text);
                cmd.Parameters.AddWithValue("@bastar", dateTimePicker1.Text);
                cmd.Parameters.AddWithValue("@bittar", dateTimePicker2.Text);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();

    7 Eylül 2018 Cuma 07:54

Yanıtlar

  • Tabloyu kendi localimde oluşturup denedim çalışan kodları aşağıda paylaşıyorum hala sorun yaşarsanız projeyi gönderebilirim. Bağlantı string'de sorun yok insert kısmında values kısmına soru işareti yazmalısın.

    private void button1_Click(object sender, EventArgs e)
            {
                OleDbCommand cmd = new OleDbCommand("insert into isemri (isemrino,isyeri,isalani,isemridet,bastar,bittar)values(?,?,?,?,?,?)", con);
                cmd.Parameters.AddWithValue("@isemrino", Convert.ToInt32(textBox1.Text));
                cmd.Parameters.AddWithValue("@isyeri", comboBox1.Text);
                cmd.Parameters.AddWithValue("@isalani", comboBox2.Text);
                cmd.Parameters.AddWithValue("@isemridet", richTextBox1.Text);
                cmd.Parameters.AddWithValue("@bastar", dateTimePicker1.Value);
                cmd.Parameters.AddWithValue("@bittar", dateTimePicker2.Value);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }

    • Yanıt Olarak İşaretleyen nevzat123 8 Eylül 2018 Cumartesi 07:47
    8 Eylül 2018 Cumartesi 07:31

Tüm Yanıtlar

  • Arkadaşlar sabahtan bu yana birşey bulamadım.sanki oldb bağlantısınd sıkıntı var?
    7 Eylül 2018 Cuma 11:23
  •  OleDbCommand cmd = new OleDbCommand("insert into isemri (isemrino,isyeri,isalani,isemridet,bastar,bittar)values(?,?,?,?,?,?)", con);

    Bu şekilde denermisiniz.
    7 Eylül 2018 Cuma 11:48
  • OleDbConnection con = new OleDbConnection("Provider=sqloledb;Data Source=AAA;Initial Catalog=DENEME;User ID=ABC;password=123;");
                OleDbCommand cmd = new OleDbCommand("insert into isemri (isemrino,isyeri,isalani,isemridet,bastar,bittar)values(isemrino,isyeri,isalani,isemridet,bastar,bittar)", con);
                cmd.Parameters.AddWithValue("@isemrino", Convert.ToInt32(textBox1.Text));
                cmd.Parameters.AddWithValue("@isyeri", comboBox1.Text);
                cmd.Parameters.AddWithValue("@isalani", comboBox2.Text);
                cmd.Parameters.AddWithValue("@isemridet", richTextBox1.Text);
                cmd.Parameters.AddWithValue("@bastar", dateTimePicker1.Value);
                cmd.Parameters.AddWithValue("@bittar", dateTimePicker2.Value);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();

    aşağıdaki hatayı dönüyor

    Invalid column name 'bittar'.

    Invalid column name 'bastar'.

    Invalid column name 'isemridet'.

    lakin bunlar sqlde tanımlı

    veritabanıda şöyle:

    CREATE TABLE [dbo].[isemri](
    [isemrino] [int] NOT NULL,
    [isyeri] [nvarchar](100) NULL,
    [isalani] [nvarchar](100) NULL,
    [isemridet] [nvarchar](max) NULL,
    [bastar] [date] NULL,
    [bittar] [date] NULL,
     CONSTRAINT [PK_isemri] PRIMARY KEY CLUSTERED 


    • Düzenleyen nevzat123 7 Eylül 2018 Cuma 12:13
    7 Eylül 2018 Cuma 12:11
  • isemrino kolonu primary key mi?

    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    7 Eylül 2018 Cuma 13:01
  • Dogrudur Murat Bey.Primary key.

    Primary key kaldırmama ragmen değişmiyor.

    Must declare the scalar variable "@isemrino". hatayı alıyorum şimdide


    • Düzenleyen nevzat123 7 Eylül 2018 Cuma 13:33
    7 Eylül 2018 Cuma 13:19
  • Arkadaşlar tüm gün bunula ugrasıyorum.acaba OLDB connection stringimi yanlıs?,parametre hatası veriyor tüm parametreler tanımlı kafayı yemek üzereyim tecrübeli arkadaşlar yardımcı olabilirler mi?
    8 Eylül 2018 Cumartesi 05:52
  • Tabloyu kendi localimde oluşturup denedim çalışan kodları aşağıda paylaşıyorum hala sorun yaşarsanız projeyi gönderebilirim. Bağlantı string'de sorun yok insert kısmında values kısmına soru işareti yazmalısın.

    private void button1_Click(object sender, EventArgs e)
            {
                OleDbCommand cmd = new OleDbCommand("insert into isemri (isemrino,isyeri,isalani,isemridet,bastar,bittar)values(?,?,?,?,?,?)", con);
                cmd.Parameters.AddWithValue("@isemrino", Convert.ToInt32(textBox1.Text));
                cmd.Parameters.AddWithValue("@isyeri", comboBox1.Text);
                cmd.Parameters.AddWithValue("@isalani", comboBox2.Text);
                cmd.Parameters.AddWithValue("@isemridet", richTextBox1.Text);
                cmd.Parameters.AddWithValue("@bastar", dateTimePicker1.Value);
                cmd.Parameters.AddWithValue("@bittar", dateTimePicker2.Value);
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();
            }

    • Yanıt Olarak İşaretleyen nevzat123 8 Eylül 2018 Cumartesi 07:47
    8 Eylül 2018 Cumartesi 07:31
  • Ercan Bey yardımlarınız için teşekkür ederim.Oldu.Ancak ben internette araştırma yaptıgımda genelde benim yaptıgım sekildeydi,hiç "?" konuldugunu görmedim. Neden soru işareti konuyor?
    • Düzenleyen nevzat123 8 Eylül 2018 Cumartesi 07:50
    8 Eylül 2018 Cumartesi 07:48
    • Düzenleyen Ercan EBİL 8 Eylül 2018 Cumartesi 08:46
    8 Eylül 2018 Cumartesi 08:45