C# SQL veri çekme

Saldon

Hectopat
Katılım
22 Aralık 2018
Mesajlar
137
Çözümler
1
Arkadaşlar merhabalar bir labelin fontunu SQL dataya kaydettim ve bunu çekmeye çalışıyorum ama bir türlü yapamadım.


private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
{
string secili = comboBox3.SelectedItem.ToString();
for (int i = 0; i< listView2.Items.Count; i++)
{
if (listView2.Items.SubItems[83].Text == secili)
{
label13.Font = new FontConverter().ConvertFromString(listView2.Items.SubItems[6].Text) as Font;
}
}

Böyle denedim ama olmadı.
 
Belirli bir framework kullanıyor musunuz(Entity, NHibernate)? Yoksa direk SQL sorgu gönderip oradan mı veri çekiyorsunuz?
Sql datasındaki verileri form açılır açılmaz listviewe gösterip ordan sorgu ile çekiyorum.

Örnek Olarak aşağıya bırakıyorum.

private void verilerigörüntüle()
{
baglan.Open();
SqlCommand komut = new SqlCommand("Select *From veriler", baglan);
SqlDataReader oku = komut.ExecuteReader();
while (oku.Read())
{
ListViewItem ekle = new ListViewItem();
ekle.Text = oku["SıraNumarası"].ToString();
ekle.SubItems.Add(oku["Label"].ToString());
}
}
 
Anladığım kadarıyla böyle bir şey yapmaya çalışıyorsunuz. "ListViewItem" bunun ne olduğunu bilemediğim için şöyledir diyemedim fakat bu kodu kendinize göre düzenleyiniz ve sonucu yazınız.
C#:
public class Gate
{
 
    public List<string> get()
    {
        SqlConnection conn =
            new SqlConnection(connection string'iniz);
        conn.Open();
        SqlCommand command;
        string sql2 = "göndereceğiniz sorgu";
        List<string> list = new List<string>();
        command = new SqlCommand(sql2, conn);
        using (SqlDataReader dataReader = command.ExecuteReader())
        {
            while (dataReader.Read())
            {
                list.Add(dataReader.GetValue(0).ToString());
            }

       
        }
        command.Dispose();
        conn.Close();
        return list;
    }
}

Ben burada "List" yapısından faydalandım siz başka bir yapıdan faydalanabilirsiniz fakat tavsiyem "List" olarak kullanmanız. Kodların anlamadığınız yerini sormayı unutmayınız.
 
Print yaptığında veri geliyor mu kontrol eder misin?
Veriler Sql tabloya doğru şekilde kaydedildi ve doğru şekildede program açılır açılmaz
Listvidew içerisine eklediğim columnlara veriler geliyor. Her hangi bir sorun yok.
Anladığım kadarıyla böyle bir şey yapmaya çalışıyorsunuz. "ListViewItem" bunun ne olduğunu bilemediğim için şöyledir diyemedim fakat bu kodu kendinize göre düzenleyiniz ve sonucu yazınız.
C#:
public class Gate
{

    public List<string> get()
    {
        SqlConnection conn =
            new SqlConnection(connection string'iniz);
        conn.Open();
        SqlCommand command;
        string sql2 = "göndereceğiniz sorgu";
        List<string> list = new List<string>();
        command = new SqlCommand(sql2, conn);
        using (SqlDataReader dataReader = command.ExecuteReader())
        {
            while (dataReader.Read())
            {
                list.Add(dataReader.GetValue(0).ToString());
            }

    
        }
        command.Dispose();
        conn.Close();
        return list;
    }
}

Ben burada "List" yapısından faydalandım siz başka bir yapıdan faydalanabilirsiniz fakat tavsiyem "List" olarak kullanmanız. Kodların anlamadığınız yerini sormayı unutmayınız.
Cevaplar için çok teşekkür ediyorum fakat bu sorgu ile label 13 fontunu nasıl Listviewedeki veriye eşitleyeceğim.
Arkadaşlar tekrardan özetliyorum.
Ekran Alıntısı.JPG

Bu benim sql içindeki dataya kaydettiğim bir font değeri.
Yazı şeklinde yani string.
Ben bunu Form1 içindeki listviewe yansıtıyorum ve bu
şekilde herhangi bir labelin verisini çekiyor ben bunu label 13 için yapıyorum.
Comboboxoda sql datasında olan stün isimleri diye bir
bölümüm var onu combobox itemlerine yansıtıyorum
ve böylece stün isimleri comboboxo geliyor ve oradan
seçtiğim isim içerisinde label font değeri verdiğim stün
değerine gidiyor ve labeli fontunu ona eşitliyor.
Bu şekilde yaptığım zaman font aynı olmuyor.
Ama Size veya puntosunu çekiyor.

private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
{

string secili = comboBox3.SelectedItem.ToString();
for (int i = 0; i< listView2.Items.Count; i++)
{
if (listView2.Items.SubItems[83].Text == secili)
{
label13.Font = new FontConverter().ConvertFromString(listView2.Items.SubItems[6].Text) as Font;
{
}

Arkadaşlar sorunu çözdüm dataya sadece fontun namesini kaydedip öyle çektim cevaplar için çok
teşekkürler :)
 
Son düzenleme:

Geri
Yukarı