2012-04-25 10 views
1

フォームに2つのdataGridViewsがあり、アプリケーションを実行すると何も表示されません。以下のように、dataGridView情報をコードに追加すると、Visual Studioの「サーバーエクスプローラ」を使用してデータベースを追加する必要はありません。それは冗長であり、かつ/またはdataGridViewの塗りつぶし結果を変更するでしょうか?私のコードで何かが欠けていますか?C#dataGridViewへのAccessデータベースの追加(コードのみ使用)

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.OleDb; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     DataSet ds = new DataSet(); 
     OleDbDataAdapter daOrders = new OleDbDataAdapter(); 
     OleDbDataAdapter daReceived = new OleDbDataAdapter(); 
     OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\Query Form\Database.accdb");  

     OleDbCommand slctOrders = new OleDbCommand("SELECT * FROM script_Orders ORDER BY script"); 
     daOrders.SelectCommand = slctOrders; 
     daOrders.Fill(ds, "tblOrders"); 

     OleDbCommand slctReceived = new OleDbCommand("SELECT * FROM script_Received"); 
     daOrders.SelectCommand = slctReceived; 
     daOrders.Fill(ds, "tblReceived"); 

     dgOrders.DataSource = ds.Tables ["tblOrders"]; 
     dgReceived.DataSource = ds.Tables ["tblReceived"]; 
    } 
    } 
} 

答えて

2

はvcon.Open、私はそれはあなたが不足しているすべての場合(あなたはまた、接続を開く必要がありますかわからない

OleDbCommand slctOrders = new OleDbCommand("SELECT * FROM script_Orders ORDER BY script", vcon); 

...データアダプタに接続を渡して試してみてください())、接続オブジェクトとアダプタの間に何らかのリンクがなければなりません。

+0

それがうまくいった!トーンありがとう! – Geo

+0

うれしい私は助けることができます。 –

関連する問題