1 2 1 3 4 Ali Veli
5 3 1 4 4 Ayşe Fatma
şu şekilde çekip listboxa yazdırıyorum fakat yapmak istediğim şu buton 2 ye bastığımda ilk beş değerin ortalamasını alıp veri tabanındaki ortalama (sql) alanına yazsın isim soyismide ayrı bir alana yazsın.yani txt den sql converter yapmak istyiroum.Nasıl yapabilirim?
listBox1.Items.Clear();
StreamReader oku;
oku = File.OpenText(@"C:\optik.txt");
string yazi;
while ((yazi = oku.ReadLine()) != null)
{
listBox1.Items.Add(yazi.ToString());
}
oku.Close();
Regex diye bir şey var onu bir araştır. Regex ile string işleyebiliyoruz. Okuduğun her satırı teker teker işleyip yaparsın o şekilde.
bu sayılar sabit mi? her isim için 5 tane değer mi var yoksa değişken mi?
sabit hep beş değer gelicek
her satır için sayıların ortalamasını ayrı bir combobox'a, ismi ayrı bir comboboxa yazdım. ancak benim metin dosyamda sadece kişinin adı yazıyor, soyadı yok. soyadını da yazarsam onun için ayrı bir ortalama oluşuyor. çünkü her satırı boşluklu olarak okuyorum. isim ve soyisim arasına farkı bir karakter koyarsan sıkıntı olmaz.
StreamReader reader = new StreamReader(@"C:\test.txt");
int intTotal = 0;
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
string[] tokens = line.Split(' ');
double ort = 0;
foreach (string s in tokens)
{
if (int.TryParse(s, out intTotal))
{
ort += intTotal;
}
else
{
sayiCombo.Items.Add(ort / 5);
isimCombo.Items.Add(s);
}
}
}
comboboxtaki her değeri de sql yazdırmak çok kolay. internette tonla örneği var.
kaynak: stackoverflow.com