まず、データベースの操作上の
1データベース接続
二種類の:
最初:クラスのOracleConnectionと接続するための古代の方法(より硬い、柔軟な運用のために)、すなわち、
列mysqlstr =「ユーザID = XAL ;データソース= XAL; XALパスワード=「;
OracleConnectionがOracleConnectionの新しい新=(mysqlstr)をmycnn;
mycnn.open();
第二の(より柔軟な使用)新しいプロセス、すなわち接続するOracleConnectoinStringBuilderクラスを使用し
たOracleConnectionStringBuilder OcnnStrB =新しい新規たOracleConnectionStringBuilderと、
OCnnStrB.DataSource = "XAL";
OCnnStrB.UserID = "XAL";
OCnnStrB.Password = "XAL";
myCnn OracleConnectionの新しい新=(OCnnStrB.ConnectionString);
myCnn.open()。
2.操作事务
myConn.open()。
OracleCommandのinsertComm =新しいOracleCommandの();
insertComm.Connection = myCnn。
insertComm.Transaction = myCnn.BeginTransaction()。
試す
{
操作语句事务;
insertComm.Transaction.Commit()。
}
キャッチ(exptionのEX)
{
insertComm.Transaction.Rollback()。
メッセージボックス(ex.Message)。
}
最後に
{
myConn.close()。
}
3.コマンドパラメータを作成します。
プライベートのOracleParameter CreateOraParam(paramNameに文字列が、ParamValueオブジェクト)
{
OracleParameterのOracleParameterの結果=新しい新しい();
Result.ParameterName = paramNameに、
IF(!ParamValue = NULL)
{
Result.Value = ParamValue;
}
他
{
Result.Value DBNull.Valueの=;
}
結果を返す;
}
この場合、データベースの操作ができる場合:
(AGEのID、NAME、PIC)=「TESTADODOTNET INSERT INTO insertComm.CommandText値(:PID ,:はpName ,:ページ、 :PPIC)「;
insertComm.Parameters.Add(CreateOraParam( "PID"、(txtID.Text.Trim()= "")txtID.Text.Trim():!?NULL));
insertComm.Parameters.Add(CreateOraParam( "はpName"、(txtName.Text.Trim()= "")txtName.Text.Trim():!?NULL));
insertComm.Parameters.Add(CreateOraParam( "ページ"、(txtAge.Text.Trim()= "")txtAge.Text.Trim():!?NULL));
前記閲覧データセット(例:結果をComboBox1の中に示されている)
OracleDataAdapterのOracleDataAdapterの新しい新ODA =(SelectCommandがAN);
データテーブルNEWTABLEデータテーブル新しい新=();
oda.Fill(NEWTABLE);
foreachの(のDataRow newtable.Rows DRにおいて)/ /総newtable.rows.countレコード
{
comboBox1.Items.Add(DR [0] .ToString());
}
:デジタル入力が(今textBox1テキストボックスのみの文字と同様の方法を入力する例)を設けることができる
プライベートボイドtextBox1_KeyPress(オブジェクト送信者、KeyPressEventArgs E)// event属性
{
= e.Handledを((! Char.IsNumber(e.KeyChar))||((キー)e.KeyChar == Keys.Back));
}
終了し、[OK]ダイアログボックスがポップアップ表示:ウィンドウが閉じ6.Formイベントのときにスローされ
ます。private void form1_FormClosing(オブジェクト送信者、FormClosingEventArgs E)を
{
IF(MessageBox.Show( "?システムを終了するかどうか"、 "OK"、MessageBoxButtons.YesNo、MessageBoxIconを.Question)== DialogResult.Yes)
{
e.Cancel = falseに;
}
そうでなければ
{
e.Cancel = trueに;
}
}
7.OracleParameter使用法
最初のステップ:コマンドパラメータ作成
プライベートOracleParameterのCreateOraParam(文字列paramNameに、オブジェクトParamValue)
{
OracleParameterの結果=新しい新しいのOracleParameter();
Result.ParameterName = paramNameに、
IF(ParamValue =ヌルを!)
{
Result.Value = ParamValue;
}
そうでなければ
{
Result.Value = DBNull.Valueの;
}
結果を返す;
}
ステップ2:SQL文を記述し、パラメータの最初のステップを呼び出す(例えば::コールを表すパラメータをPID insertComm.Parameters.Add PID値)
insertComm.CommandText = "TESTADODOTNET挿入(ID、名前、年齢、PIC)値(:PID、:はpName:ページ:PPIC)"。
insertComm.Parameters.Add(CreateOraParam( "PID"、(txtID.Text.Trim()= "")txtID.Text.Trim():!?NULL));
insertComm.Parameters.Add(CreateOraParam( "はpName"、(txtName.Text.Trim()= "")txtName.Text.Trim():!?NULL));
insertComm.Parameters.Add(CreateOraParam( "ページ"、(txtAge.Text.Trim()= "")txtAge.Text.Trim():!?NULL));
ステップ3:pictureBox1ページ画像フィールドのバイナリストリームを追加
画像フィールド割り当てにバイト配列を作成する//、FileLength関数は、選択したファイルのサイズを指す
[FileLength関数]バイト[] = tmpImage新しい新しいバイト;
//バイトメモリアレイの作成フローは、フローはのコンテンツバイト配列の操作に影響を与えます
MemoryStreamを=新しい新curStreamのMemoryStream(tmpImage);
ストリームにグラフィック表示制御では、//形式の強制する必要が
pictureBox1.Imageを。保存(curStream、curImageFormat); //フロントcurImageFormat指定された画像フォーマット
insertComm.Parameters.Add(CreateOraParam( "PPIC"、 tmpImage));
ます。https://www.cnblogs.com/salonliudong/archive/2006/12/04/582107.htmlで再現