1

フォームに2つのdataGridViewがあり、アプリを実行しても何も表示されません。以下のように、コードにdataGridView情報を追加する場合、VisualStudioの「サーバーエクスプローラー」を使用してデータベースを追加する必要はないと思います。それは冗長であり、および/またはdataGridViewの塗りつぶしの結果を変更しますか?コードに何かが欠けていますか?

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"];
    }
  }
}
4

1 に答える 1

2

接続をデータアダプタに渡してみてください...

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

足りないのがそれだけかどうかはわかりませんが(接続を開く必要がある場合もあります、vcon.Open())、接続オブジェクトとアダプターの間に何らかのリンクが必要です。

于 2012-04-25T13:38:20.317 に答える