1

SQL Server bağlantısı için bir sınıfı nasıl kullanabileceğimi ve veri kümesi görünümümün popülasyonunu anlamaya çalışıyorum. Bu yüzden, benim veritabanımdan her şeyi seçmek için düğmem için bir Click olayı olarak böyle bir şey yapmadan önce.SQL bağlantı ve SELECT vb dizelerden bir bağlantı sınıfına geçiş

SqlConnection con = new SqlConnection(@"Data Source =SQLEXPRESS; Initial Catalog = TestDB;"); 
     SqlConnection myConnection = new SqlConnection("user id=Admin;" + 
            "password=05370537;server=localhost;" + 
            "Trusted_Connection=yes;" + 
            "database=TestDB; " + 
            "connection timeout=30"); 
     SqlCommand comm = new SqlCommand(); 
     comm.Connection = myConnection; 
     comm.CommandText = "SELECT * FROM Data"; 

     DataTable dta = new DataTable(); 
     SqlDataAdapter adapter = new SqlDataAdapter(comm); 
     adapter.Fill(dta); 
     dataGridView1.DataSource = dta; 
     myConnection.Close(); 

benim kod temizlemek için bir sınıfta onları koymak istedim her düğme için bu bağlantı dizeleri vardı ... o yüzden yaptım beri:

public class SqlDbConnect 
{ 
    private SqlConnection con; 
    public SqlCommand Cmd; 
    private SqlDataAdapter sda; 
    public DataTable dta; 

    public SqlDbConnect() 
    { 
     con = new SqlConnection("user id=Admin;" + 
            "password=05370537;server=localhost;" + 
            "Trusted_Connection=yes;" + 
            "database=Omnimet; " + 
            "connection timeout=30"); 
     con.Open(); 
    } 

    public void SqlQuery(string queryText) 
    { 
     Cmd = new SqlCommand(queryText, con); 
    } 

    public DataTable QueryEx() 
    { 
     sda = new SqlDataAdapter(Cmd); 
     dta = new DataTable(); 
     sda.Fill(dta); 
     return dta; 
    } 

    public void NonQueryEx() 
    { 
     try 
     { 
      Cmd.ExecuteNonQuery(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.ToString(), "Error",MessageBoxButtons.OK, MessageBoxIcon.Error); 
     } 
    } 
} 

şimdi kullanmak istediğim datagridview'ımı doldurmak için sınıf ... Bunu nasıl yapabilirim? örneğin bir combobox gayet güzel çalışıyor Dolum ...

con = new SqlDbConnect(); 
     con.SqlQuery("INSERT INTO dbo.ESQUEL (Name) VALUES (@NameP)"); 
     con.Cmd.Parameters.AddWithValue("@NameP", textBox.Text.Trim()); 
     con.NonQueryEx(); 
     con.SqlQuery("SELECT * FROM dbo.ESQUEL"); 
     comboBox.Items.Clear(); 

     foreach (DataRow dr in con.QueryEx().Rows) 
     { 
      comboBox.Items.Add(dr[1].ToString()); 
     } 

Buranın benim dummycode

  con = new SqlDbConnect(); 

     con.SqlQuery("SELECT * FROM Data"); 
     con.QueryEx(); 

     foreach(DataRow dr in con.QueryEx().Rows) 
     { 
      dataGridView1.DataSource=SqlDbConnect.dta; 
     } 

gibi görünmelidir varsayalım ama bu sadece yeniyim ve alamıyorum

cevap

2

foreach kurtulun ....

peşin Teşekkür ... Tüm yardım takdir ... çalışmak ve doğrudan atama DataSource özelliğine veritable.

dataGridView1.DataSource=con.QueryEx(); 
+0

Çok teşekkür ederim ... bu tam olarak aradığım şeydi ... – incubuzz1978

İlgili konular