2012-03-06 11 views
0

私はC#プロジェクトにアクセスdbデータソースを追加しましたが、今はC#を使用してデータにアクセスできるようにしたいと考えています。データソースを右クリックして[プレビューデータ]を押すと、データソースからデータを見ることができますが、このデータにアクセスするためにどのコードを使用するのかはわかりません。データソースを追加したら、どうすればアクセスできますか?

プレビューメニューには、2つのメソッド「Fill」と「GetData()」が表示されていますが、アクセス方法はわかりません。

ありがとうございます、ありがとうございます!

+0

SataSourceまたはDataSet? –

+0

DataSet ....... – sooprise

+1

「プレビューメニュー」はわかりませんが、FillとGetDataはDataDapaterに属しています。今度は一緒にチュートリアルをGoogleに送るのに十分なキーワードがあります。 –

答えて

2

DataSetテーブルアダプタに表示されるFill/GetDataメソッドを見ているようです。いくつかの例を見て、それを行う方法を見てみることをお勧めします(以下の例はdatagridviewsです)。

C#: Can't populate DataGridView programaticallyVB

using(SqlDataAdapter sqlDataAdapter = 
    new SqlDataAdapter("SELECT * FROM Table1", 
     "Server=.\\SQLEXPRESS; Integrated Security=SSPI; Database=SampleDb")) 
{ 
    using (DataTable dataTable = new DataTable()) 
    { 
     sqlDataAdapter.Fill(dataTable); 
     this.dataGridView1.DataSource = dataTable; 
    } 
} 

Dev X記事が、それはあなたのアイデア与える:MSDN Bind Data to the Windows Forms DataGridView Control

から

Dim connStr As String = _ 
"Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;" & _ 
"Integrated Security=True" 
Dim sql As String = "SELECT * FROM Customers" 
Dim conn As SqlConnection = New SqlConnection(connStr) 
Dim comm As SqlCommand = New SqlCommand(sql, conn) 
Dim dataadapter As SqlDataAdapter = New SqlDataAdapter(comm) 
Dim ds As DataSet = New DataSet() 
'---open the connection and fill the dataset--- 
conn.Open() 
'---fill the dataset--- 
dataadapter.Fill(ds, "Customers_table") 
'---close the connection--- 
conn.Close() 
'---bind to the DataGridView control--- 
DataGridView1.DataSource = ds 
'---set the table in the dataset to display--- 
DataGridView1.DataMember = "Customers_table" 

using System; 
using System.Data; 
using System.Data.SqlClient; 
using System.Windows.Forms; 

public class Form1 : System.Windows.Forms.Form 
{ 
    private DataGridView dataGridView1 = new DataGridView(); 
    private BindingSource bindingSource1 = new BindingSource(); 
    private SqlDataAdapter dataAdapter = new SqlDataAdapter(); 
    private Button reloadButton = new Button(); 
    private Button submitButton = new Button(); 

    [STAThreadAttribute()] 
    public static void Main() 
    { 
     Application.Run(new Form1()); 
    } 

    // Initialize the form. 
    public Form1() 
    { 
     dataGridView1.Dock = DockStyle.Fill; 

     reloadButton.Text = "reload"; 
     submitButton.Text = "submit"; 
     reloadButton.Click += new System.EventHandler(reloadButton_Click); 
     submitButton.Click += new System.EventHandler(submitButton_Click); 

     FlowLayoutPanel panel = new FlowLayoutPanel(); 
     panel.Dock = DockStyle.Top; 
     panel.AutoSize = true; 
     panel.Controls.AddRange(new Control[] { reloadButton, submitButton }); 

     this.Controls.AddRange(new Control[] { dataGridView1, panel }); 
     this.Load += new System.EventHandler(Form1_Load); 
     this.Text = "DataGridView databinding and updating demo"; 
    } 

    private void Form1_Load(object sender, System.EventArgs e) 
    { 
     // Bind the DataGridView to the BindingSource 
     // and load the data from the database. 
     dataGridView1.DataSource = bindingSource1; 
     GetData("select * from Customers"); 
    } 

    private void reloadButton_Click(object sender, System.EventArgs e) 
    { 
     // Reload the data from the database. 
     GetData(dataAdapter.SelectCommand.CommandText); 
    } 

    private void submitButton_Click(object sender, System.EventArgs e) 
    { 
     // Update the database with the user's changes. 
     dataAdapter.Update((DataTable)bindingSource1.DataSource); 
    } 

    private void GetData(string selectCommand) 
    { 
     try 
     { 
      // Specify a connection string. Replace the given value with a 
      // valid connection string for a Northwind SQL Server sample 
      // database accessible to your system. 
      String connectionString = 
       "Integrated Security=SSPI;Persist Security Info=False;" + 
       "Initial Catalog=Northwind;Data Source=localhost"; 

      // Create a new data adapter based on the specified query. 
      dataAdapter = new SqlDataAdapter(selectCommand, connectionString); 

      // Create a command builder to generate SQL update, insert, and 
      // delete commands based on selectCommand. These are used to 
      // update the database. 
      SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter); 

      // Populate a new data table and bind it to the BindingSource. 
      DataTable table = new DataTable(); 
      table.Locale = System.Globalization.CultureInfo.InvariantCulture; 
      dataAdapter.Fill(table); 
      bindingSource1.DataSource = table; 

      // Resize the DataGridView columns to fit the newly loaded content. 
      dataGridView1.AutoResizeColumns( 
       DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader); 
     } 
     catch (SqlException) 
     { 
      MessageBox.Show("To run this example, replace the value of the " + 
       "connectionString variable with a connection string that is " + 
       "valid for your system."); 
     } 
    } 

} 
関連する問題