何かと便利なDataGridViewにSQL ServerとMySQLのテーブルを表示します。
参照設定
SQL ServerとMySQLのそれぞれの参照設定します。
SQL Server
using System.Data.SqlClient;
MySQL
using MySql.Data.MySqlClient;
SQL Server
private void SqlServerToDataGridView()
{
// SQL Server接続
using (SqlConnection Connection = new SqlConnection())
{
try
{
string TxConnection = "";
TxConnection += "Data Source = " + @"localhost\SQLEXPRESS" + ";";
TxConnection += "Initial Catalog = " + "SSSPRODUCT" + ";";
TxConnection += "User ID = " + "sa" + ";";
TxConnection += "Password = " + "xsysmngr" + ";";
Connection.ConnectionString = TxConnection;
Connection.Open();
}
catch(SqlException e)
{
Console.WriteLine("SQL Server接続失敗");
Console.WriteLine(e.Message);
return;
}
using (SqlCommand Command = new SqlCommand())
{
try
{
string TxSQL = "";
TxSQL += "SELECT";
TxSQL += " TBLTESTID,";
TxSQL += " TBLTESTNAMERUBY,";
TxSQL += " TBLTESTNAME";
TxSQL += " FROM";
TxSQL += " TBLTEST";
Command.CommandText = TxSQL;
Command.Connection = Connection;
}
catch(SqlException e)
{
Console.WriteLine("SQL Server SqlCommand Error");
Console.WriteLine(e.Message);
return;
}
using (SqlDataAdapter Adapter = new SqlDataAdapter(Command))
{
try
{
DataSet DataSet = new DataSet();
Adapter.Fill(DataSet);
DgvSqlServer.DataSource = DataSet.Tables[0];
}
catch(SqlException e)
{
Console.WriteLine("SQL Server SqlDataAdapter Error");
Console.WriteLine(e.Message);
return;
}
}
}
// SQL Server解放
Connection.Close();
}
}
MySQL
private void MySqlToDataGridView()
{
// MySQL 接続
using (MySqlConnection Connection = new MySqlConnection())
{
try
{
string TxConnection= "";
TxConnection += "Server=" + "localhost;";
TxConnection += "Database=" + "sssproduct;";
TxConnection += "Uid=" + "root;";
TxConnection += "Pwd=" + ";";
Connection.ConnectionString = TxConnection;
Connection.Open();
}
catch (MySqlException e)
{
Console.WriteLine("MySQL接続失敗");
Console.WriteLine(e.Message);
return;
}
using (MySqlCommand Command = new MySqlCommand())
{
try
{
string TxSQL = "";
TxSQL += "SELECT ";
TxSQL += " TESTID,";
TxSQL += " TESTNAME,";
TxSQL += " TESTRUBY,";
TxSQL += " TESTGENDER,";
TxSQL += " TESTBLOOD,";
TxSQL += " TESTBIRTHDAY,";
TxSQL += " TESTTEL,";
TxSQL += " TESTMOBILETEL,";
TxSQL += " TESTEMAIL,";
TxSQL += " TESTPOSTNO,";
TxSQL += " TESTADDRESS,";
TxSQL += " TESTTIMESTAMP";
TxSQL += " FROM ";
TxSQL += " TEST;";
Command.CommandText = TxSQL;
Command.Connection = Connection;
}
catch (MySqlException e)
{
Console.WriteLine("MySQL MySqlCommand Error");
Console.WriteLine(e.Message);
return;
}
using ( MySqlDataAdapter Adapter = new MySqlDataAdapter(Command))
{
try
{
DataSet DataSet = new DataSet();
Adapter.Fill(DataSet);
DgvMySql.DataSource = DataSet.Tables[0];
}
catch (MySqlException e)
{
Console.WriteLine("MySQL MySqlDataAdapter Error");
Console.WriteLine(e.Message);
return;
}
}
}
// MySQL解放
Connection.Close();
}
まとめ
SQL ServerとMySQLもほとんど同じようなコードになります。
最初にデータベースに接続。
コマンドでコネクションとSQL文を設定して、アダプターでデータセットを生成。
データセットをDataGridViewのデータソースに設定するだけです。
何等かのデータベースからDataGridViewへの表示を知っていれば応用で色んなデータベースに対応できると思います。
コメント