C# Form OleDbCommand Syntax Sorunu

erm1sh

Megapat
Katılım
8 Eylül 2016
Mesajlar
123
Çözümler
2
Yer
Bilecik,Bozüyük
Daha fazla  
Cinsiyet
Erkek
Meslek
Öğrenci
Merhabalar. Yaklaşık 2 saattir yanlış olan bir Syntax'i bulmaya çalışıyorum fakat başarılı olamadım. Yardımcı olabilecek biri var mı acaba?
Syntax kodunu buradan alabilirsiniz;
OleDbCommand komut = new OleDbCommand("insert into Bilgiler (id,Ad,Soyad,Yaşı) values ('" + textBox_siraNo.ToString() + ',' + textBox_adi.Text.ToString() + "','" + textBox_Soyad.ToString() + "','" + textBox_Yasi.Text.ToString() + ')', baglanti);

Not: textbox_siraNo ve textbox_Yasi textBox'larına sayı girişi yapılıyor, tüm kodlar ektedir.

Adsız.png
 
Çözüm
Abi çok sağolasın, ama 1 kere kayıt yapabildim sonrasında beklenmedik hata mesajı verdi. Birkaç kez denedim verilerin bazıları silindi, farklı farklı hatalar gelmeye başladı ve iyice canım sıkıldı. Bilmememe rağmen tabiri caizse enkaz da olsa bir sistem kurmaya çalıştım. Pazartesi günü hocalara göstereceğim, eyvallah abi :)
Veritabanında "Ad" sütununu "Birincil Anahtar" olarak tayin etmişsin. Haliyle birincil anahtar sütununa aynı veriden 2 tane ekleyemezsin. Aynı isimden iki tane olamaz sistemde.

Birinci anahtarı "ID" sütunu için geçerli kılarsan aynı isim ile birden çok kayıt yaparken sorun yaşamazsın. Hatta anahtar eklemene gerek bile yok. Uğraşmak istemiyorum dersen de öğretmeninin yanında farklı AD bilgisi girersin :)

ada.jpg
C#:
OleDbCommand komut = new OleDbCommand("insert into Bilgiler (id,Ad,Soyad,Yaşı) values ('" + textBox_siraNo.ToString() + "','" + textBox_adi.Text.ToString() + "','" + textBox_Soyad.ToString() + "','" + textBox_Yasi.Text.ToString() + "')'", baglanti);

Böyle dener misin?
 
C#:
OleDbCommand komut = new OleDbCommand("insert into Bilgiler (id,Ad,Soyad,Yaşı) values ('" + textBox_siraNo.ToString() + "','" + textBox_adi.Text.ToString() + "','" + textBox_Soyad.ToString() + "','" + textBox_Yasi.Text.ToString() + "')'", baglanti);

Böyle dener misin?

Missing semicolon (;) at end of SQL statement hatası veriyor.
 
Dostum textBox_Soyad.ToString() olarak yazmışsın sanırım ondan hata veriyor.

C#:
OleDbCommand komut = new OleDbCommand("insert into Bilgiler (id,Ad,Soyad,Yaşı) values ('" + textBox_siraNo.Text.ToString() + "','" + textBox_adi.Text.ToString() + "','" + textBox_Soyad.Text.ToString() + "','" + textBox_Yasi.Text.ToString() + "')'", baglanti);

Sanırım şimdi sorun düzelir.
 
Dostum textBox_Soyad.ToString() olarak yazmışsın sanırım ondan hata veriyor.

C#:
OleDbCommand komut = new OleDbCommand("insert into Bilgiler (id,Ad,Soyad,Yaşı) values ('" + textBox_siraNo.Text.ToString() + "','" + textBox_adi.Text.ToString() + "','" + textBox_Soyad.Text.ToString() + "','" + textBox_Yasi.Text.ToString() + "')'", baglanti);

Sanırım şimdi sorun düzelir.
Aynı hata maalesef.
Proje dosyasını yükler misin? Yarın akşam müsait olacağım - düzenlenmiş halini geri yüklerim.
kayitAccdbDeneme.rar
 
C#:
OleDbCommand komut = new OleDbCommand("insert into Bilgiler (id,Ad,Soyad,Yaşı) values ('" + textBox_siraNo.Text.ToString() + "','" + textBox_adi.Text.ToString() + "','" + textBox_Soyad.Text.ToString() + "','" + textBox_Yasi.Text.ToString() + "')", baglanti);

Buyrun bu şekilde çalışıyor en sondaki baglantidan önce parantezin sağında tek tırnak olmayacaktı.
 
Son düzenleme:
Hatayı yok ettim, veritabanı konumunu da dosyanın kaynak klasörüne çektim, masaüstünü göstermişsin nedense. Yaş ve numara bilgi girişi rakam girebiliyorsun yalnızca. Tostring ifadesini silmem gerekti 2 nesneden, çakışma olabiliyor zaten string ifade girildiğinde.

Gece vakti olmasa projenin devamını da hallederdik, sen biraz uğraş. Yapamadığın noktaları ekleriz yarın akşam, en son bir kontrol eder - daha güzel özellikler ekleriz. Ama biraz uğraş sen listeleme butonunu falan ekle yarına kadar.
02.37 22.09.2018 Technopat.rar

Hatta başka problem yaşarsan yeni konuda paylaş, veri ekleme kısmında sorun yok şuan. Radio Butonu falan da ekleyebiliriz yarın, gece 3 olduğu ve sabah kalkacağım için zaman ayıramadım bugünlük :)
 
Hatayı yok ettim, veritabanı konumunu da dosyanın kaynak klasörüne çektim, masaüstünü göstermişsin nedense. Yaş ve numara bilgi girişi rakam girebiliyorsun yalnızca. Tostring ifadesini silmem gerekti 2 nesneden, çakışma olabiliyor zaten string ifade girildiğinde.

Gece vakti olmasa projenin devamını da hallederdik, sen biraz uğraş. Yapamadığın noktaları ekleriz yarın akşam, en son bir kontrol eder - daha güzel özellikler ekleriz. Ama biraz uğraş sen listeleme butonunu falan ekle yarına kadar.
02.37 22.09.2018 Technopat.rar

Hatta başka problem yaşarsan yeni konuda paylaş, veri ekleme kısmında sorun yok şuan. Radio Butonu falan da ekleyebiliriz yarın, gece 3 olduğu ve sabah kalkacağım için zaman ayıramadım bugünlük :)

Abi çok sağolasın, ama 1 kere kayıt yapabildim sonrasında beklenmedik hata mesajı verdi. Birkaç kez denedim verilerin bazıları silindi, farklı farklı hatalar gelmeye başladı ve iyice canım sıkıldı. Bilmememe rağmen tabiri caizse enkaz da olsa bir sistem kurmaya çalıştım. Pazartesi günü hocalara göstereceğim, eyvallah abi :)
 
Abi çok sağolasın, ama 1 kere kayıt yapabildim sonrasında beklenmedik hata mesajı verdi. Birkaç kez denedim verilerin bazıları silindi, farklı farklı hatalar gelmeye başladı ve iyice canım sıkıldı. Bilmememe rağmen tabiri caizse enkaz da olsa bir sistem kurmaya çalıştım. Pazartesi günü hocalara göstereceğim, eyvallah abi :)
Veritabanında "Ad" sütununu "Birincil Anahtar" olarak tayin etmişsin. Haliyle birincil anahtar sütununa aynı veriden 2 tane ekleyemezsin. Aynı isimden iki tane olamaz sistemde.

Birinci anahtarı "ID" sütunu için geçerli kılarsan aynı isim ile birden çok kayıt yaparken sorun yaşamazsın. Hatta anahtar eklemene gerek bile yok. Uğraşmak istemiyorum dersen de öğretmeninin yanında farklı AD bilgisi girersin :)

ada.jpg
 
Çözüm
Uyarı! Bu konu 8 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı