HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


C# 2003の開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > C# 2003 Tips > コントロール > DataView Tips メニュー

07.レコードの追加を取り消す

UPDATE:2004/05/13 

<< 前のTips  次のTips >>

 

 DataViewに格納されたテーブルに追加したレコードは、DataRowViewのEndEditメソッドが実行されるまでは、バッファに格納されたままです。DataRowViewのEndEditメソッドを実行する前であれば、CancelEditメソッドで変更を取り消すことができます。

手順
1)変数の宣言
2)接続文字列の作成
3)SELECT文の作成
4)SELECT用コマンドオブジェクトの作成
5)データアダプタの作成
6)データセットにデータを取得する
7)DataViewにDataSetのテーブルを連結する
8)レコードを追加できるようにする
9)レコードを追加する
10)レコードの追加を取り消す

 
サンプル
using System.Data.OracleClient;
:
:省略
:
private void button1_Click(object sender, System.EventArgs e)
{

    // 1)変数の宣言
    OracleConnection OraConn = new OracleConnection();
    OracleDataAdapter OraDA;
    DataSet dtSet = new DataSet("EMP");
    DataView dtView = new DataView();

    // 2)接続文字列の作成
    OraConn.ConnectionString =
        "user id=SCOTT;" +
        "password=TIGER;" +
        "Data Source=OracleServer";

    // 3)SELECT文の作成
    string strSelect;
    strSelect = "SELECT * FROM EMP";

    // 4)SELECT用コマンドオブジェクトの作成
    OracleCommand SelectCmd = new OracleCommand();
    SelectCmd.Connection = OraConn;
    SelectCmd.CommandText = strSelect;

    // 5)データアダプタの作成
    OraDA = new OracleDataAdapter();
    OraDA.SelectCommand = SelectCmd;

    // 6)データセットにデータを取得する
    OraDA.Fill(dtSet, "EMP_TBL");

    // 7)DataViewにDataSetのテーブルを連結する
    dtView.Table = dtSet.Tables[0];

    // 8)レコードを追加できるようにする
    dtView.AllowNew = true;

    // 9)レコードを追加する
    DataRowView dtRow;
    dtRow = dtView.AddNew();
    dtRow["EMPNO"] = "94030";
    dtRow["ENAME"] = "HIRO's.NET";
    dtRow["JOB"] = "CLERK";

    // 10)レコードの追加を取り消す
    dtRow.CancelEdit();
    // dataGridで確認する場合下記のコメントをはずす
    // dataGrid1.DataSource = dtView;

}