「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.06.09
XML
カテゴリ: WPFC#.NET


C# WPFでSQL Serverのデータを`DataGrid`に表示するサンプルコードを紹介します。以下の手順で進めます。


1. **SQL Serverからデータを取得するための準備**:

   - SQL Server接続情報を設定



2. **WPFプロジェクトを作成し、必要なUI要素を追加**:

   - `DataGrid`コントロールをXAMLに配置

   - 取得したデータを`DataGrid`にバインド


### 手順1: SQL Serverからデータを取得する準備


まず、SQL Serverからデータを取得するメソッドを作成します。


**MainWindow.xaml.cs**:

```csharp

using System;

using System.Data;

using System.Data.SqlClient;

using System.Windows;


namespace WpfApp

{

    public partial class MainWindow : Window

    {

        private string connectionString = "your_connection_string_here";


        public MainWindow()

        {

            InitializeComponent();

            LoadData();

        }


        private void LoadData()

        {

            try

            {

                using (SqlConnection connection = new SqlConnection(connectionString))

                {

                    connection.Open();

                    string query = "SELECT * FROM YourTableName";

                    SqlDataAdapter adapter = new SqlDataAdapter(query, connection);

                    DataTable dataTable = new DataTable();

                    adapter.Fill(dataTable);

                    dataGrid.ItemsSource = dataTable.DefaultView;

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show($"Error: {ex.Message}");

            }

        }

    }

}

```


ここでのポイント:

- `connectionString`は、SQL Serverに接続するための接続文字列です。適切な接続文字列を設定してください。

- `LoadData`メソッドで、SQL Serverからデータを取得し、`DataTable`に格納します。その後、`DataGrid`の`ItemsSource`プロパティに`DataTable.DefaultView`を設定します。


### 手順2: WPFプロジェクトを作成し、必要なUI要素を追加


次に、`DataGrid`コントロールをXAMLに配置します。


**MainWindow.xaml**:

```xml

<Window x:Class="WpfApp.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="450" Width="800">

    <Grid>

        <DataGrid x:Name="dataGrid" AutoGenerateColumns="True" />

    </Grid>

</Window>

```


ここでのポイント:

- `DataGrid`コントロールの`x:Name`を`dataGrid`に設定しています。これにより、コードビハインドで`dataGrid`にアクセスできます。

- `AutoGenerateColumns`を`True`に設定することで、`DataTable`の列に基づいて`DataGrid`の列が自動的に生成されます。


### 全体のコード


以下が、すべてのコードをまとめたものです。


**MainWindow.xaml**:

```xml

<Window x:Class="WpfApp.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        Title="MainWindow" Height="450" Width="800">

    <Grid>

        <DataGrid x:Name="dataGrid" AutoGenerateColumns="True" />

    </Grid>

</Window>

```


**MainWindow.xaml.cs**:

```csharp

using System;

using System.Data;

using System.Data.SqlClient;

using System.Windows;


namespace WpfApp

{

    public partial class MainWindow : Window

    {

        private string connectionString = "your_connection_string_here";


        public MainWindow()

        {

            InitializeComponent();

            LoadData();

        }


        private void LoadData()

        {

            try

            {

                using (SqlConnection connection = new SqlConnection(connectionString))

                {

                    connection.Open();

                    string query = "SELECT * FROM YourTableName";

                    SqlDataAdapter adapter = new SqlDataAdapter(query, connection);

                    DataTable dataTable = new DataTable();

                    adapter.Fill(dataTable);

                    dataGrid.ItemsSource = dataTable.DefaultView;

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show($"Error: {ex.Message}");

            }

        }

    }

}

```


このサンプルコードでは、SQL Serverからデータを取得し、WPFの`DataGrid`に表示する方法を示しています。`connectionString`と`YourTableName`は、実際の接続情報およびテーブル名に置き換えてください。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.06.09 13:10:46


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
X
Design a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: