C#でOdbcを使用してMysqlデータベースに接続
3395 ワード
プロジェクトに必要なので、以下のようにまとめます.
接続を行う前に、Odbcデータソースの設定を行う必要があります.具体的には、ネット上に多くあり、検索できます.
作成前にインストールする必要があります
1、ODBC.NET(全称ODBC.NET Data Provider)は無料です.NET Frameworkの追加コンポーネントは、マイクロソフト社のウェブサイトにダウンロードする必要があります.ダウンロード先は:http://download.microsoft.com/download/dasdk/Install/1.0.4030.0/W98NT42KMeXP/EN-US/odbc_net.msiシステムにMDAC 2.7以降がインストールされている必要があります.
2、MySQLのODBCドライバをインストールする必要があります.ダウンロード先は以下の通りです.http://www.mysql.com/downloads/connector/odbc/
その後、ODBCデータソースを作成し、順番に開くことができます:私のパソコン-コントロールパネル-管理ツール-データソース(ODBC)-「システムDNS」をクリックして右側の追加を選択し、ポップアップボックスで後ろに引いて、「Mysql ODBC 5.3 Unicode Driver」を選択します.この名前はあなたの駆動バージョンによって異なります.クリックして私の設定を完了します
その後はVS 2010での操作:
接続後の状態:
次に、プログラムの構成を示します.
接続を行う前に、Odbcデータソースの設定を行う必要があります.具体的には、ネット上に多くあり、検索できます.
作成前にインストールする必要があります
1、ODBC.NET(全称ODBC.NET Data Provider)は無料です.NET Frameworkの追加コンポーネントは、マイクロソフト社のウェブサイトにダウンロードする必要があります.ダウンロード先は:http://download.microsoft.com/download/dasdk/Install/1.0.4030.0/W98NT42KMeXP/EN-US/odbc_net.msiシステムにMDAC 2.7以降がインストールされている必要があります.
2、MySQLのODBCドライバをインストールする必要があります.ダウンロード先は以下の通りです.http://www.mysql.com/downloads/connector/odbc/
その後、ODBCデータソースを作成し、順番に開くことができます:私のパソコン-コントロールパネル-管理ツール-データソース(ODBC)-「システムDNS」をクリックして右側の追加を選択し、ポップアップボックスで後ろに引いて、「Mysql ODBC 5.3 Unicode Driver」を選択します.この名前はあなたの駆動バージョンによって異なります.クリックして私の設定を完了します
その後はVS 2010での操作:
接続後の状態:
次に、プログラムの構成を示します.
//
bool mysqlState = false;
public string MyConString;
OdbcConnection MyLPRS;
bool connectMysql()
{
string MyConString = "DRIVER={MySQL ODBC 5.3 Unicode Driver};" +
"SERVER=localhost;" +
"DATABASE=licenseplate;" +
"UID=root;" +
"PASSWORD=mysql890806;" +
"OPTION=3";
MyLPRS = new OdbcConnection(MyConString);
MyLPRS.Open();
mysqlState = true;
return mysqlState;
}
//
if (mysqlState == false)
{
connectMysql();
mysqlState = true;
}
DateTime time = System.DateTime.Now;
string query = "insert into plate (result, time) values ('"+recognizeResult.Text+"','" + time + "')";
OdbcCommand cmd = new OdbcCommand(query, MyLPRS);
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
//Console.WriteLine("record duplicate.");
}
finally
{
cmd.Dispose();
}