2013-03-01 17 views
5

Veritabanından veri veritabanında veri görüntülemek için aşağıdaki kodları burada veriyorum. Farklı satırlarım var, ancak yalnızca veritabanındaki son veri satırını göster. Kodumda neyin yanlış olduğunu bilmiyorum.Erişim veritabanından datagridview verileri nasıl görüntülenir?

dataGridView1.Columns.Add("UserID", "UserID"); 
    dataGridView1.Columns.Add("FirstName", "FirstName"); 
    dataGridView1.Columns.Add("MI", "MI"); 
    dataGridView1.Columns.Add("LastName", "LastName"); 
    dataGridView1.Columns.Add("Birthdate", "Birthdate"); 
    dataGridView1.Columns.Add("Address", "Address"); 
    dataGridView1.Columns.Add("UserName", "UserName"); 
    dataGridView1.Columns.Add("UserPassword", "UserPassword"); 
    dataGridView1.Columns.Add("Rights", "Rights"); 


    OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\SISC-STRONGHOLD\MIS!\wilbert.beltran\SEEDBucksDbase.accdb"); 
    conn.Open(); 
    OleDbCommand cmd = new OleDbCommand(); 
    cmd.Connection = conn; 
    cmd.CommandText = "SELECT * From TableAcct"; 
    OleDbDataReader reader = cmd.ExecuteReader(); 
    while (reader.Read()) 
    { 
     dataGridView1.Rows.Add(); 

     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["UserID"].Value = reader[0].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["FirstName"].Value = reader[1].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["MI"].Value = reader[2].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["LastName"].Value = reader[3].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Birthdate"].Value = reader[4].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Address"].Value = reader[5].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["UserName"].Value = reader[7].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["UserPassword"].Value = reader[8].ToString(); 
     dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["Rights"].Value = reader[9].ToString(); 
    } 
    conn.Close(); 
} 
+0

@JohnSaunders veri gösterilip gösterilmeyeceğini bu kodu kullanın - Üzgünüm ama Im sadece bir acemi C#. Kodlar çalışır, ancak yalnızca tablomdaki son veri satırını gösterir, ancak tablodaki tüm satırları görüntülemiş olması gerekir. – bhert

cevap

6

doğrudan OleDbDataAdapter kullanarak dataGridView1 bağlayabilir. Datagridview'daki sütunların adlarının, sorgu tarafından döndürülen alan adlarıyla eşleştiğinden emin olun, böylece boş sütunlar içerecek ve her alan için başka bir sütun oluşturacaktır.

string connStr = @"Provider=Microsoft.ACE.OLEDB.12.0; 
     Data Source=\\SISC-STRONGHOLD\MIS!\wilbert.beltran\SEEDBucksDbase.accdb"; 
string query = "SELECT * From TableAcct"; 
using(OleDbConnection conn = new OleDbConnection(connStr)) 
{ 
    using(OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn)) 
    { 
     DataSet ds = new DataSet(); 
     adapter.Fill(ds); 
     DataGridView1.DataSource= ds.Tables[0]; 
    } 
} 
+1

satırında "adapter.Fill (ds [0]);" hata, "[System.Data.Dataset '" türünde bir ifadeye [] ile indeksleme uygulanamaz. Teşekkürler :) – bhert

+0

oh bu bir yazım hatası, sadece 'adaptör.Fill (ds);' olmalıdır. –

+1

Çok teşekkürler. Mükemmel çalışıyor :) Teşekkür ederim. Bu kısa bir kod ve mükemmel :) teşekkür ederim! – bhert

0

C# .net DataGridView

OleDBConnection con=new  OleDBConnection("Copy your database database path and paste it"); 
    con.open(); 
    Dataset ds=new Dataset(); 
     OleDBDataAdapter sdr=new  OleDBDataAdapter("select * from table_name",con); 
    sdr.Fill(ds); 
    datagridview1.Datasource=ds.tables[0]; 
    con.close(); 
0
public partial class WebForm1 : System.Web.UI.Page 
{ 
    public String name,type,rvw; 


    public void Page_Load(object sender, EventArgs e) 
    { 
     SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\Uz!\Documents\Data_Ware.mdf;Integrated Security=True;Connect Timeout=30"); 
     SqlDataAdapter sda = new SqlDataAdapter("Select * From CoffeeDB ", con); 
     DataTable dt = new DataTable(); 
     sda.Fill(dt); 

     GridView.DataSource = dt; 
    } 
} 
+0

Verilen kod için bir açıklama yazmak ister misiniz. Teşekkürler – Anton

İlgili konular