none
ExecutenanQuery Hatası RRS feed

  • Soru

  • Arkadaslar sitemde sql veri kaydederken ve ya guncellerken asagıdakı hatayı alıyorum yardım ederseniz sevınırım teşekkurler ..

    Cannot insert explicit value for identity column in table 'firsat' when IDENTITY_INSERT is set to OFF.

    3 Ocak 2015 Cumartesi 16:14

Yanıtlar

  • SqlConnection baglanti = new SqlConnection(yol);
                string eklekod = "insert into firsat(Adi,Kodu," +
                "Fiyat,urun_Resim,marka)" +
    
                "values(@ad,@kod,@fiyat,@resim,@Marka)";
                baglanti.Open();
                SqlCommand komut = new SqlCommand(eklekod, baglanti);
                komut.Parameters.AddWithValue("@ad", DropDownList1.SelectedItem.Text);
                komut.Parameters.AddWithValue("@kod", TextBox1.Text);
                komut.Parameters.AddWithValue("@fiyat", TextBox2.Text);
                komut.Parameters.AddWithValue("@resim", "image/" + FileUpload1.FileName.ToString());
                komut.Parameters.AddWithValue("@Marka", DropDownList2.SelectedItem.Text);
                komut.ExecuteNonQuery();
                baglanti.Close();
                if (FileUpload1.HasFile)
                    FileUpload1.SaveAs(Server.MapPath("image/") + FileUpload1.FileName);
                else
                    MessageBox.Show("resim ekleyiniz");
           

    ya bu şekilde yap identity yoksay yada

    SqlConnection baglanti = new SqlConnection(yol);
                string eklekod = "SET IDENTITY_INSERT firsat ON insert into firsat(id,Adi,Kodu," +
                "Fiyat,urun_Resim,marka)" +
    
                "values(@Id,@ad,@kod,@fiyat,@resim,@Marka)";
                baglanti.Open();
                SqlCommand komut = new SqlCommand(eklekod, baglanti);
                komut.Parameters.AddWithValue("@Id", TextBox3.Text);
                komut.Parameters.AddWithValue("@ad", DropDownList1.SelectedItem.Text);
                komut.Parameters.AddWithValue("@kod", TextBox1.Text);
                komut.Parameters.AddWithValue("@fiyat", TextBox2.Text);
                komut.Parameters.AddWithValue("@resim", "image/" + FileUpload1.FileName.ToString());
                komut.Parameters.AddWithValue("@Marka", DropDownList2.SelectedItem.Text);
                komut.ExecuteNonQuery();
                baglanti.Close();
                if (FileUpload1.HasFile)
                    FileUpload1.SaveAs(Server.MapPath("image/") + FileUpload1.FileName);
                else
                    MessageBox.Show("resim ekleyiniz");

    yada identity açıp hemen kapatma :) 

    SET IDENTITY_INSERT firsat ON

    SET IDENTITY_INSERT firsat OFF  //Hata


    kdrgny@outlook.com

    5 Ocak 2015 Pazartesi 15:47

Tüm Yanıtlar

  • Muhtemelen Primary Key (ID) alanını sorguya dahil ettiğin için bu hatayı alıyorsun. Hata mesajında da yazdığı gibi "fırsat" tablosundaki Primary Key alanının "IDENTITY_INSERT" özelliği "OFF" olarak ayarlı. Yani dışardan Primary Key alanına veri yazmaya izin vermiyor. ID'yi bilerek değiştirmek veya kayıt eklerken kendin elle vermek istiyorsan bu ayarı ON yap aksine öyle bir niyetin yoksa Primary Key alanını sorguda "Where" harici kısımlardan çıkart.

    Update fırsat  Set id = 2 firsat_adi = 'dsfs' where id=5

    şeklinde değil de

    Update fırsat  Set firsat_adi = 'dsfs' where id=5

    şeklinde olsun



    3 Ocak 2015 Cumartesi 19:09
  • hatayı türkçeye çevirmeyi denedin mi? şöyle diyor Ekleme yaptığın sütun İdentity olarak işaretlediğinden otomaitk olarak sıra numarası atar ve sütun değer girişine kapalıdır. 

    kdrgny@outlook.com

    3 Ocak 2015 Cumartesi 19:11
  • hocam bazen Incorrect syntax near ','  bazende baska hata alıyorum, veri eklediğimde ıd numrasını 0 alıyor ikinci veriyi eklemek ıstediğimde eklemiyor hata veriyor yani ıd numrası artmıyor ndendir sizce ?
    5 Ocak 2015 Pazartesi 13:49
  • hocam bu hatada var 

     Violation of PRIMARY KEY constraint 'PK_firsat_1'. Cannot insert duplicate key in object 'dbo.firsat'. The duplicate key value is (0).

    yardımcı olsanız cok sevınırım 

    5 Ocak 2015 Pazartesi 14:02
  • "Incorrect Syntax near" hatası sorgunun söz diziminde hata olduğunu gösterir. Yazdığın mesaja göre muhtemelen fazladan bir virgül var gibi duruyor. Farklı hatalar sorguyu ve hata mesajını bilmek lazım.

    Diğer konuya gelince id alanını int türünde otomatik artan olarak değiştir. Insert sorgusunda id alanını sorguya ekleme.

    5 Ocak 2015 Pazartesi 14:37
  • tablonun create kodlarının scriptini gönderir misin. Yüksek ve çok yüksek ihtimalle primery key atayım değer tanımlamışsın. 0 değer veriyor. resimdeki gibi uygula sonra hata verirse yazarsın.

    kdrgny@outlook.com

    5 Ocak 2015 Pazartesi 14:39
  • hocam id alanı int turunde ve otomatik artan olarak değiştirmiştim zaten (Is Identitiy) yes olarak. hocam teamvieverden bakabılırmısınız zahmet olmassa ?
    5 Ocak 2015 Pazartesi 15:03
  • USE [Ders]
    GO

    /****** Object:  Table [dbo].[firsat]    Script Date: 5.1.2015 17:11:53 ******/
    SET ANSI_NULLS ON
    GO

    SET QUOTED_IDENTIFIER ON
    GO

    CREATE TABLE [dbo].[firsat](
    [Adi] [nvarchar](50) NULL,
    [Kodu] [nvarchar](50) NULL,
    [Fiyat] [money] NULL,
    [urun_Resim] [nvarchar](50) NULL,
    [marka] [nvarchar](50) NULL,
    [id] [int] IDENTITY(1,1) NOT NULL,
     CONSTRAINT [PK_firsat_1] PRIMARY KEY CLUSTERED 
    (
    [id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]

    GO
    5 Ocak 2015 Pazartesi 15:12
  • c kodu :

    SqlConnection baglanti = new SqlConnection(yol);
                string eklekod = "SET IDENTITY_INSERT firsat ON insert into firsat(id,Adi,Kodu," +
                "Fiyat,urun_Resim,marka)" +

                "values(@Id,@ad,@kod,@fiyat,@resim,@Marka)SET IDENTITY_INSERT firsat OFF";
                baglanti.Open();
                SqlCommand komut = new SqlCommand(eklekod, baglanti);
                komut.Parameters.AddWithValue("@Id", TextBox3.Text);
                komut.Parameters.AddWithValue("@ad", DropDownList1.SelectedItem.Text);
                komut.Parameters.AddWithValue("@kod", TextBox1.Text);
                komut.Parameters.AddWithValue("@fiyat", TextBox2.Text);
                komut.Parameters.AddWithValue("@resim", "image/" + FileUpload1.FileName.ToString());
                komut.Parameters.AddWithValue("@Marka", DropDownList2.SelectedItem.Text);
                komut.ExecuteNonQuery();
                baglanti.Close();
                if (FileUpload1.HasFile)
                    FileUpload1.SaveAs(Server.MapPath("image/") + FileUpload1.FileName);
                else
                    MessageBox.Show("resim ekleyiniz");
                GridView1.DataBind();

    5 Ocak 2015 Pazartesi 15:16
  • SqlConnection baglanti = new SqlConnection(yol);
                string eklekod = "insert into firsat(Adi,Kodu," +
                "Fiyat,urun_Resim,marka)" +
    
                "values(@ad,@kod,@fiyat,@resim,@Marka)";
                baglanti.Open();
                SqlCommand komut = new SqlCommand(eklekod, baglanti);
                komut.Parameters.AddWithValue("@ad", DropDownList1.SelectedItem.Text);
                komut.Parameters.AddWithValue("@kod", TextBox1.Text);
                komut.Parameters.AddWithValue("@fiyat", TextBox2.Text);
                komut.Parameters.AddWithValue("@resim", "image/" + FileUpload1.FileName.ToString());
                komut.Parameters.AddWithValue("@Marka", DropDownList2.SelectedItem.Text);
                komut.ExecuteNonQuery();
                baglanti.Close();
                if (FileUpload1.HasFile)
                    FileUpload1.SaveAs(Server.MapPath("image/") + FileUpload1.FileName);
                else
                    MessageBox.Show("resim ekleyiniz");
           

    ya bu şekilde yap identity yoksay yada

    SqlConnection baglanti = new SqlConnection(yol);
                string eklekod = "SET IDENTITY_INSERT firsat ON insert into firsat(id,Adi,Kodu," +
                "Fiyat,urun_Resim,marka)" +
    
                "values(@Id,@ad,@kod,@fiyat,@resim,@Marka)";
                baglanti.Open();
                SqlCommand komut = new SqlCommand(eklekod, baglanti);
                komut.Parameters.AddWithValue("@Id", TextBox3.Text);
                komut.Parameters.AddWithValue("@ad", DropDownList1.SelectedItem.Text);
                komut.Parameters.AddWithValue("@kod", TextBox1.Text);
                komut.Parameters.AddWithValue("@fiyat", TextBox2.Text);
                komut.Parameters.AddWithValue("@resim", "image/" + FileUpload1.FileName.ToString());
                komut.Parameters.AddWithValue("@Marka", DropDownList2.SelectedItem.Text);
                komut.ExecuteNonQuery();
                baglanti.Close();
                if (FileUpload1.HasFile)
                    FileUpload1.SaveAs(Server.MapPath("image/") + FileUpload1.FileName);
                else
                    MessageBox.Show("resim ekleyiniz");

    yada identity açıp hemen kapatma :) 

    SET IDENTITY_INSERT firsat ON

    SET IDENTITY_INSERT firsat OFF  //Hata


    kdrgny@outlook.com

    5 Ocak 2015 Pazartesi 15:47
  • hocam dediklerinizide yaptım halen Cannot insert explicit value for identity column in table 'firsat' when IDENTITY_INSERT is set to OFF. bu hatayı alıyorum.Ancak 0 id numaralı urunu sildigimde sadece bir tane urun eklıyorum onunda id nosu 0 oluyor.
    5 Ocak 2015 Pazartesi 15:58
  • identity hatası column girişe kapalı diyor. vazgeç ondan onun yerine bir column daha aç kendi id ni orada takip et identity column devam etsin.

    kdrgny@outlook.com

    6 Ocak 2015 Salı 07:44
  • Hocam teşekurler bu sefede bu hatayı verıyor :)

    Invalid column name 'Resimmarka'.
    There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.

    6 Ocak 2015 Salı 17:37
  • Resimmarka diye bir column yok diyor. insert yapmaya çalıştığın yerde öyle bir kolon var mı gerçekten ?  urun_Resim olabilir mi kolonun ismi ?

    kdrgny@outlook.com

    6 Ocak 2015 Salı 20:51
  • Incorrect syntax near ','    hocam bu hata alıyorum guncellerken..Bi yerde virgül falan ne eksik ne fazla emınım ondan ?
    8 Ocak 2015 Perşembe 17:49
  • Güncelleme kodlarını paylaşırmısın

    kdrgny@outlook.com

    8 Ocak 2015 Perşembe 19:04
  • Sorunu cozdum hocam bır sorunum kalmadı cok sukur sagolun :)
    8 Ocak 2015 Perşembe 20:11
  • O zaman Yanıt olarak işaretle konu kapansın

    kdrgny@outlook.com

    8 Ocak 2015 Perşembe 23:04