Arkadaşlar bir sorunum var C# ta proje hazırlıyorum üniversite 1 öğrencisiyim projem için BURAYA tıklayınız. Neyse bu projeyi yapıyorum sorunum şu 1 veritabanında 2 adet tablom var, butona tıklayınca 1. tablodan verileri alıyorum standart hesaplaması var onları yapıyorum ve 2. tabloya kaydediyorum. Fakat eklerken 2. tabloda öğrenci numarası kolonu Primary Key(Birincil Anahtar) olduğu için hata veriyor. Verdiği Hata; Additional information: Tabloda yapılmasını istediğiniz değişiklikler, dizinde, birincil anahtarda veya ilişkide yinelenen değerler oluşturdukları için başarısız oldu. Yinelenen verileri içeren alan veya alanlardaki verileri değiştirin, dizini kaldırın veya dizini, yinelenen girdilere izin verecek şekilde yeniden tanımlayın ve yeniden deneyin. Demek istediğim şu ben bu verileri eklediğim sırada while ın içinde tek tek nasıl kontrol ettirebilirim ? Kodum Şu; private void ekle_b_Click(object sender, EventArgs e) { OleDbDataReader oku; baglanti.Open(); komut.Connection = baglanti; komut.CommandText = "Select * from ogr_olculeri"; oku = komut.ExecuteReader(); while (oku.Read()) { int ogr_no = Convert.ToInt32(oku[0]); string adi = Convert.ToString(oku[1]); string soyadi = Convert.ToString(oku[2]); agir.Add(oku[3]); boyu.Add(oku[4]); vucut_gen.Add(oku[5]); uzanma_mes.Add(oku[6]); omuz_gen.Add(oku[7]); otururken_basen_gen.Add(oku[8]); otururken_karin_derin.Add(oku[9]); bust_yuk.Add(oku[10]); goz_yuk.Add(oku[11]); otururken_omuz_yuk.Add(oku[12]); oturma_yeri.Add(oku[13]); dirsek_yuksekligi.Add(oku[14]); ust_bacak_yuksek.Add(oku[15]); ust_bacak_uzun.Add(oku[16]); otururken_kalca_pop_uzun.Add(oku[17]); otururken_diz_yuksek.Add(oku[18]); otururken_dizalti_yuksek.Add(oku[19]); double oturak_uzunlugu = ((Convert.ToInt32(oku[5]) + 10) * 2); double oturak_genisligi = ((Convert.ToInt32(oku[8]) + 4) / 2); double oturak_yerden_yuksekligi = ((Convert.ToInt32(oku[18])) + 4); double oturak_ile_sira_alti_yuksekligi = (Convert.ToInt32(oku[12]) - Convert.ToInt32(oku[14])); double oturak_arkasi_eni = (Convert.ToInt32(oku[14]) + 5); double oturak_egim_acisi = 6; double oturak_derinligi = Convert.ToInt32(oku[17]) - 3; double sira_uzunlugu = (Convert.ToInt32(oku[5]) + 10) * 2; double sira_ustu_eni = Convert.ToInt32(oku[6]) / 2; double sira_ustu_yerden_yuksekligi = Convert.ToInt32(oku[18]) + Convert.ToInt32(oku[14]) + 9; double sira_ustu_sira_altligi_mesafesi = 25; double sira_ustunun_egimi = 4; string sql = "INSERT INTO sira_olculeri(ogr_no , adi , soyadi , sira_altliginin_uzunlugu , sira_alti_oturaginin_genisligi , sira_alti_oturaginin_yuksekligi , sira_alti_ile_oturak_yuksekligi , sira_alti_arkasinin_eni , sira_altinin_arkaya_egimi , sira_alti_oturaginin_derinligi , sira_uzunlugu , sira_ustunun_eni , sira_ustunun_yerden_yuksekligi , sira_alti_ile_ustunun_mesafesi , sira_ustunun_egimi) VALUES (" + ogr_no + ",'" + adi + "','" + soyadi + "', " + oturak_uzunlugu + "," + oturak_genisligi + "," + oturak_yerden_yuksekligi + "," + oturak_ile_sira_alti_yuksekligi + "," + oturak_arkasi_eni + ", " + oturak_egim_acisi + "," + oturak_derinligi + "," + sira_uzunlugu + "," + sira_ustu_eni + "," + sira_ustu_yerden_yuksekligi + ", " + sira_ustu_sira_altligi_mesafesi + "," + sira_ustunun_egimi + ")"; OleDbCommand kaydet = new OleDbCommand(sql, baglanti); kaydet.ExecuteNonQuery(); } baglanti.Close(); } Bu arada C# ile Access arasında yazıyorum kodlarımı, yardımcı olursanız çok sevinirim proje kodlarının tümünü isteyen iletişime geçebilir. |
Dostum öncelikle kodun çok kötü. OOP diye bunu mu gösteriyorlar? Daha sınıf oluşturmayı bilmiyorsunuz ama database ile ilgiili ödev veriliyor. Gerçekten bu eğitim sistemini anlamak zor. Büyük ihtimalle0 primary key i başka bir satırla aynı olan bi satır eklemeye çalışıyorsun galiba. Databaseideki tabloların fotoğrafını atar mısın? ogr_no iki tabloda da primary key değil mi? Öyleyse sıra ölcülerini kaydetmeden önce o öğr_no ya ait sıra ölçüsünü silmen lazım. Ya da update işlemi yapacaksın. |
Dostum öncelikle kodun çok kötü. OOP diye bunu mu gösteriyorlar? Daha sınıf oluşturmayı function oluşturmayı bile bilmiyorsunuz ama database ile ilgiili ödev veriliyor. Gerçekten bu eğitim sistemini anlamak zor. Herneyse soruna gelirsek Büyük ihtimalle0 primary key i başka bir satırla aynı olan bi satır eklemeye çalışıyorsun galiba. Databaseideki tabloların fotoğrafını atar mısın? ogr_no iki tabloda da primary key değil mi? Öyleyse sıra ölcülerini kaydetmeden önce o öğr_no ya ait sıra ölçüsünü silmen lazım. Ya da update işlemi yapacaksın. |
hocam veri tabanı konusunda yardımcı olamayacağım ama bütün o if ifadesi şu üç satırla aynı anlama geliyor:
radioButton1 seçiliyse: sonucu, a * (1,75 - combobox1 seçili index * 0.25)'e eşitle (1.75 den başlayıp 0.25 azaldığı için) seçili değilse aynısının *b lisine eşitle. sonra sonuc1 i seçili indexin 2 fazlasıyla sonuc'un çarpımına eşitle. burada exception fırlatma ihtimali var tabii yine. onu da en başa bunların hepsini içine alacak şekilde şu if ifadesini eklerseniz tamamdır: if(radioButton1.IsSelected || radioButton2.IsSelected) |
Hocam bize öğretilen bu kadar, bu kadar yapabiliyoruz. Ayriyetten BURADA daha ayrıntılı şekilde konuyu paylaştım bir bakabilirsin. < Resime gitmek için tıklayın > < Resime gitmek için tıklayın > Tablolarım bunlar bu iki tablodan başka bir şey yok veritabanımda. Benim yapmak istediğim while dönerken eklenecek olan kişinin ogr_no sunu sira_olculeri tablosunda olup olmadığını kontrol ettirmek. Bu kontrolü yapmazsam konuya yazdığım hatayı veriyor. Neyse uzatmaya gerek yok yanıtını bekliyorum. |
Merhaba arkadaşlar c# da raporlama yapmak istiyorum.reportviewer ı visual studio 2015 için internetten indirip kurdum. referenceden ekledim ve toolboxa geldi. fakat bu component olarak geldi yani timer gibi formun altına ekleniyor. normal control gibi forma eklenmiyor ve 2015 de toolbox da bütün controller siyah beyazken bunun ki renkli geliyor. acaba sıkıntı nereden kaynaklanıyor olabilir? |
edit: Kendim uğraşarak çözdüm beyler.Kodu düzelttim aşağıda.Bubble sort kullanarak yaptım Bu C file handling sorusu.Yapmak istediğim dosyaya girilen sayıları küçükten büyüğe şeklinde güncellemek.Örnek 3 5 9 var 7 giriyor 3 5 7 9.Biraz açıklama koydum ama çözemedim bir türlü #include <stdio.h> |
Merhabalar, Programlama dersi için Kargo Takip Programı yapıyorum ancak bir sorunum var. Örneğin kargo İstanbul'dan Ankara'ya gidiyor. Saat başı bir şehirde olacak diyelim. Kargonun anlık olarak hangi şehirde bulunduğunu nasıl öğrenebilirim? Nasıl bir mantık izlemeliyim? |
Öncelikle sanal bişey mi yoksa verileri gerçek bi kargo şirketinden mi çekiyorsun? Sanalsa kargoları işleyen bi sınıf oluşturman lazım. O sınıf kargoları dağıtıma çıkarsın yolda ilerletsin vs. Daha sonra kargonun hangi şehirden geçeceğini ve şehirde ne kadar yol alacağını bilmen lazım.Bunu nasıl hesaplayacağım dersen 2 boyutlu bir dizi oluşturman lazım(bunu yapmanın en kolay yolu herhalde renkli bir siyasi haritayı işlemek olur.). Şunun gibi. < Resime gitmek için tıklayın > Daha sonra her şehrin merkezini bul ve bir hashmapte tut. Daha sonra kargonun varış noktasıyla başlangıç nkotası arasında herhangi bir pathfinding algoritmasıyla en kısa yolu bul. Bu yol diyelim ki 15 birim. Kargo 1 dakikada 1 birim yol alsın. Tabi bu işi kargoları işleyen sınıf halledicek. Kargo ilerledikçe dizideki konumunun değerinden hangi şehirde olduğunu anlayabileceksin. |
Sanal bir program, çok teşekkürler bilgiler için :) |
Merhaba, c programlama dilinde thread konusunu araştırıyorum fakat internette pek bir şey yok devc++ ve windows kullanıyorum. İnternette bulduğum kadarıyla pthread.h kütüphanesi var ama bu linux için windows için ne önerirsiniz windows.h kütüphanesinde tread varmış fakat örneklerini göremedim. Openmp adlı uygulama ile bir şeyler var ve son olarakda process.h kütüphanesi var sizler hangisini önerirsiniz. Bu konuyla ilgili bildiğiniz bir kaynak var mı? Nasıl bir yol izlemeliyim? Şimdiden teşekkürler. |
ödevimi yapmaya çalışıyorum ama konuya tam hakim değilim öğrenme aşamasındayım. Dosyamızda person id, boyları ve ağırlıkları var person id height weight 1 150 70 2 170 75 şeklinde 1729 kişi var. Kullanıcıdan bir sayı alıcaz ve o kadar kişi incelenecek Mesela 100 girdiği zaman ilk yüz kişi incelenecek. Daha sonra bu insanların BMI değerleri bulunacak (boy(m)/kilolarının karesi(kg)) daha sonra kullanıcıdan bir sayı daha alıcaz bu sayıya mutlak degeri en uzak x kişiyi yazdırmamız gerekiyor.(burdaki x sayısı da kullanıcıdan alınacak) Ben yazmaya başladım ama dosyadaki sayıları okurken matematiksel işlem yapamıyorum. Nerde yanlışım var bakabilir misiniz ? #include <stdio.h> #include <stdlib.h> struct person { int personId; double height; double weight; double BMI; }; int main( argc, argv[] ) { FILE *InputFile, *OutputFile; int N, M, i=0; float threshold; float temp, temp1; struct person *ptr = (struct person*)malloc(sizeof(struct person)); InputFile = fopen ("height_weight.txt", "r"); OutputFile = fopen ("output.txt", "w"); struct person list[1750]; if ( InputFile != NULL) { while (!feof(InputFile)) { fscanf(InputFile, "%d %d %d", &list.personId, &list.height, &list.weight); printf("%d %d %d \n", list.personId, list.height, list.weight); temp = 10000*(list.weight/list.height)/list.height; temp1 =100*list.weight/list.height; printf("%2.2f %2.2f\n", temp, temp1); i++; } return 0; } else { printf("File error!"); } fclose(InputFile); fclose(OutputFile); free(ptr); } |
Programlamaya bu sabah başladım, çok yeni olduğumu belirtmek istiyorum. Muhtemelen basit bir hata yapıyorum ancak 15 dakikadır hatamın ne olduğunu anlayamadım. Programda x ve y değerlerini girip, cevap kısmına da bu iki değerin toplamını yazıyorum ve cevabın doğru olup olmadığını kontrol etmeye çalışıyorum ancak cevabı doğru da girsem yanlış da girsem DOGRU yazısı çıkıyor ekranda. Nasıl düzelteceğimi çözemedim. Yardımlarınız için şimdiden teşekkür ederim, iyi forumlar... #include <iostream> #include <stdio.h> using namespace std; int main () { int x; int y; cout << "X VE Y'YE BIRER DEGER VERIN, CEVAP KISMINA IKI DEGERIN TOPLAMINI YAZIN.\n"; cout << "X = "; cin >> x; cout << "Y = "; cin >> y; int cevap; cout << "CEVAP = "; cin >> cevap; int toplam = x + y; if (cevap = toplam) { cout << "DOGRU"; } else { cout << "YANLIS"; } } |
if (cevap = toplam) kısmı if (cevap == toplam) olmayacak mı? ![]() |
Merhabalar, Bilişim Sistemleri Mühendisliği 1.sınıfım. C++ görüyoruz ama derste üstün körü geçtiğimizi düşündüğüm için youtube dan gelişmeye çabalıyorum. Bir arkadaşın serisini izliyordum yaklaşık 10ar dakikadan 70-80 video gibi bir seriydi. Pointerları gördükten sonra aklım takıldı ve bu kadar basit olmamalı dedim. Daha sonra farklı kaynaklara yönelip başka bir seri daha buldum pointerları 40 dakika da anlatmak yerine yaklaşık 110 dakikada anlatmış ve ciddi anlamda boşluk bırakmamış merak eden varsa adresi programlama tv ydi sanırım. Aradağım yardım ise bir şeyleri kaçırdığımı düşünüyorum sonuçta bütün bilgiyi verebilmeleri olanaksız kendimde toplayabileceğim bir kaynak arıyorum sizce kitap mı almalıyım yoksa internet üzerinden halledebileceğim kaynaklar var mı ? Pdf olarak kitap aramıyorum yanlış anlamayan sorum yardımcı olacak web siteleri biliyor musunuz? Birde dev c mi daha mantıklı yoksa visual studio mu? Dev c kullanmaktayım visiual stuido nun bir kaç özelliğin gördüm adım adım ilerleme ve hafızayı değerlere ve adreslere göre gösterebiliyor. Şimdiden teşekkürler! |
merhaba c de dosya içinde bir satırda veri var mı yok mu nasıl konrol ettirebilirim? |
Hocam merhaba. Benim şöyle bir sorunum var. C# VS 2012de bir proje geliştirdim. Veritabanı olarak MSSQL kullandım. Bu bizim proje ödevimiz için fakat hoca programı setup haline getirmemizi istiyor. Setup dosyasının içine veritabanını nasıl ekleyeceğim ve bir bilgisayara kurulduğunda nasıl sorunsuz çalışacak ? Ayrıca normalde yazılım şirketleri bu işi nasıl yapıyorlar SQL yedeğini alıp (.bak) daha sonrasında bunu müşterinin bilgisayarına nasıl yüklüyorlar. Müşteriye SQL Server Management Studio'mu kuruyorlar yoksa başka bir şekilde mi yapılıyor ? |
merhaba arkadaşlar, C dilinde bi sorum vardı doğru mu çözdüm tam emin değilim. anlayan arkadaşlar doğru mu değil mi yardımcı olursa seninirim.. not: hocamız kağıt üzerinde işledi bu dönem, o yüzden tam olarak bilgisayardaki gibi yazmamış olabilirim. (if kısmındaki scanf ile değiştirilecek harfi girmede yanlış yaptım mı diye şüpheliyim.) --- Dışarıdan girilen bir kelime ya da cümle içerisinde aranacak harf girilip değiştirilecek harfi girip oluşan yeni kelimeyi ekrana yazdıran programın kodlarını yazınız. int a, u; char kelime[100], harf; Printf("kelime gir="); gets(kelime); Printf("Aranacak harf= "); Scanf("%c", &harf); u = strlen(kelime); for(a=0;a<u;a++) { if(kelime[a]==harf) { Printf("Değiştirilecek harf gir= "); Scanf("%c", &kelime[a]); } } for(a=0;a<u;a++) { Printf("%c",kelime[a]); } |
if(kelime[a]==harf) { Printf("Değiştirilecek harf gir= "); Scanf(" %c", &kelime[a]); //<<------ "%c" yerine " %c" } %c' den önce boşluk koyarsan olası whitespace leri input buffer dan silmiş olursun. |
private void button1_Click(object sender, EventArgs e)
{
double a, b,sonuc,sonuc1,s1;
a = 100;
b = 150;
sonuc = 0;
sonuc1 = 0;
if (radioButton1.Checked == true)
{
if (comboBox1.SelectedIndex == 0)
{
sonuc = (a * 1.75);
}
if (comboBox1.SelectedIndex == 1)
{
sonuc = (a * 1.50);
}
if (comboBox1.SelectedIndex == 2)
{
sonuc = (a * 1.25);
}
if (comboBox2.SelectedIndex == 0)
{
sonuc1 = sonuc * 2;
}
if (comboBox2.SelectedIndex == 1)
{
sonuc1 = sonuc * 3;
}
if (comboBox2.SelectedIndex == 2)
{
sonuc1 = sonuc * 4;
}
if (comboBox2.SelectedIndex == 3)
{
sonuc1 = sonuc * 5;
}
}
if (radioButton2.Checked == true)
{
if (comboBox1.SelectedIndex == 0)
{
sonuc = (b * 1.75);
}
if (comboBox1.SelectedIndex == 1)
{
sonuc = (b * 1.50);
}
if (comboBox1.SelectedIndex == 2)
{
sonuc = (b * 1.25);
}
if (comboBox2.SelectedIndex == 0)
{
sonuc1 = sonuc * 2;
}
if (comboBox2.SelectedIndex == 1)
{
sonuc1 = sonuc * 3;
}
if (comboBox2.SelectedIndex == 2)
{
sonuc1 = sonuc * 4;
}
if (comboBox2.SelectedIndex == 3)
{
sonuc1 = sonuc * 5;
}
}
textBox1.Text=sonuc1.ToString();
s1=sonuc1/2;
textBox2.Text=s1.ToString();
textBox3.Text=s1.ToString();
}
kod buldum fakat veritabanı ile nasıl bir bağlama yaparım bilemiyorum şimdiden teşekkürler
Bu mesaja 2 cevap geldi. Cevapları Gizle