EDITORIAL:
パッケージ場合SQLserver C#:https://www.cnblogs.com/mexihq/p/11636785.html
C#、Oracleのパッケージ:https://www.cnblogs.com/mexihq/p/11700741.html
日常業務においては、アイテムの通常多数のデータベースを持つすべての基本的な操作、その後の使用を容易にするために開発されたDLLにパッケージいくつかの一般的なデータベース操作の非常に小さいシリーズです。この記事は主に、追加、削除、変更を、基本的な動作を確認し、また任意の問題がある場合には兄を啓発してください、MySQLのC#の接続に記録されています。フォローアップもそれに応じて仕上げ他のいくつかの共通のデータベースを持つことになります。いくつかの単語の男は、直接コードコードを開始、と述べました。
引用:
MySql.Data.MySqlClientを使用しました。
MySqlConnectionには、その後の使用を容易に宣言します。
プライベートMySqlConnectionにはmysql_con。
MySQLのオープン:
/// <要約>
/// MySQLのオープン
/// </要約>
///ます。<param name = "リンク">リンク声明</ param>の
/// <リターン>成功:成功。失敗:理由</リターン>
公共の文字列MySQL_Open(文字列リンク)
{
試み
{
mysql_con =新しいMySqlConnectionに(リンク)。
mysql_con.Open();
「成功」を返します。
}
キャッチ(例外例)
{
ex.Messageを返します。
}
}
MySQLは閉じています:
/// <要約>
/// MySQLの近く
/// </要約>
/// <リターン>成功:成功失敗:理由</リターン>
公共の文字列にmysql_close()
{
試み
{
場合(mysql_con == NULL)
{
「いいえデータベース接続」を返します。
}
IF(mysql_con.State == ConnectionState.Open || mysql_con.State == ConnectionState.Connecting)
{
mysql_con.Close()。
mysql_con.Dispose();
}
他
{
IF(mysql_con.State == ConnectionState.Closed)
{
戻り"成功"。
}
IF(mysql_con.State == ConnectionState.Broken)
{
リターン"のConnectionState:壊れました";
}
}
「成功」を返します。
}
キャッチ(例外例)
{
ex.Messageを返します。
}
}
MySQLの追加および削除:
/// <要約>
/// MySQLの挿入、削除、更新
/// </要約>
/// <PARAM NAME = "SQL">挿入、削除、更新文</ param>の
/// <リターン>成功:影響を受けた行数+成功。失敗:理由</戻り>
パブリック文字列MySQL_Insdelupd(文字列SQL)
{
試みる
{
int型NUM = 0。
(mysql_con == NULL)場合
{
戻り「最初のデータベース接続を開いてください」。
}
IF(mysql_con.State == ConnectionState.Open)
{
たMySqlCommand SqlCommandオブジェクト=新しいたMySqlCommand(SQL、mysql_con)。
NUM = sqlCommand.ExecuteNonQuery()。
}
他
{
IF(mysql_con.State == ConnectionState.Closed)
{
戻り"データベース接続を閉じます"。
}
IF(mysql_con.State == ConnectionState.Broken)
{
戻り"データベース接続が破壊されます"。
}
IF(mysql_con.State == ConnectionState.Connecting)
{
リターン"データベースが接続されています"。
}
}
リターン"成功" + NUM。
}
キャッチ(例外例)
{
戻りex.Message.ToString()。
}
}
MySQLの調査:
/// <要約>
/// MySQLの選択
/// </要約>
/// <PARAM NAME = "SQL"> select文</ param>の
/// <PARAM NAME = "レコードを">成功:成功。失敗:理由</ param>の
/// <リターン>を選択した結果</リターン>
公共のDataSet MySQL_Select(文字列、SQL、列レコードアウト)
{
試み
{
//储存数据的工具初始化
のDataSetのdataSet =新しいデータセット();
IF(mysql_con == NULL)
{
レコード=「最初のデータベース接続を開いてください」。
DataSetを返します。
}
(mysql_con.State ==のConnectionState場合。
sqlDataAdapter.Fill(データセット「サンプル」)。
sqlDataAdapter.Dispose();
記録=「成功」;
DataSetを返します。
}
IF(mysql_con.State == ConnectionState.Closed)
{
レコードは= "データベース接続を閉じます"。
DataSetを返します。
}
IF(mysql_con.State == ConnectionState.Broken)
{
レコード= "データベース接続が破壊されます"。
DataSetを返します。
}
(mysql_con.State == ConnectionState.Connecting)場合
{
レコードは=「データベースが接続されています」。
DataSetを返します。
}
録音= "ERROR";
DataSetを返します。
}
キャッチ(例外例)
{
データセットのdataSet =新しいデータセット()。
レコード= ex.Message.ToString()。
DataSetを返します。
}
}
小扁以上、このパッケージはまだ非常に面倒な方法であることが判明し、CRUDを実行するたびにMySQLは最初に、最終的には、近くに、より多くのトラブルまで実用データベースを開いている必要があります。したがって、2つのCRUD上記の方法は、オーバーロードされ、動作データベースは、次に近いデータベース最初に開かれており、各時間。
/// <要約>
/// INSERTのMySQL、削除、更新
/// </要約>
///ます。<param name = "SQL"> INSERT、DELETE、UPDATE文</ param>の
///の<paramの名前= "リンク"> LINK文</ param>の
/// <戻り値>成功:成功+番号影響を受けるの行;失敗:理由</戻り値>
公共の文字列MySQL_Insdelupd(SQL文字列、文字列リンク)
{
試み
{
int型NUM = 0;
使用して(MySqlConnectionにMySqlConnectionに新しい新しい= CON(リンク))
{
con.Open();
ツールは//データベース操作のSqlCommand
たMySqlCommandたMySqlCommand新しい新しいCMD =(SQL、CON); //(アクション文とリンクするツール)
NUM = cmd.ExecuteNonQuery (); //行の数に影響を与えるように動作復帰を行う
con.Close()。
「成功」+ NUMを返します。
}
}
キャッチ(例外例)
{
戻りex.Message.ToString()。
}
}
/// <要約>
/// MySQLのSELECT
/// </要約>
///ます。<param name = "SQL"> SELECTステートメント</ param>の
/// <PARAM NAME = "リンク">リンクステートメント</ param>の
/// <PARAM NAME = "録音">成功:成功、失敗:理由</ param>の
/// <戻り値> SELECT結果</戻り値>
公共MySQL_SelectのDataSet(SQL文字列、文字列のリンク、録音OUT文字列)
{
試み
{
データを記憶するための//初期化手段
、データセット、データセットの新しい新DS =()
データベース(接続文字列)にリンクする//ツール対応する
使用(MySqlConnectionにMySqlConnectionに新しい新しい= CON(リンク))
{
con.Open() ; //開いている
データベースへのリンクを持つ// SqlConnectionのツール、今SQLクエリ結果によって、SQLアダプタに保存されています
MySqlDataAdapter SDA =新をMySqlDataAdapter(SQL、 CON); //( クエリとの接続手段)
sda.Fill(DS、 "サンプル"); //データアダプタのDataSetツールに
con.Close(); //とSqlConnectionのツールの後
sda.Dispose(); //手動解除SqlDataAdapterオブジェクト
のレコード= "成功";
戻りDS;
}
}
キャッチ(例外EX)
{
のDataSet DataSetの新しい新しいデータセットA =();
録音ex.Message.ToString =();
dataSet Aリターン;
}
}