トップ  >  サンプルソース  >  ORACLE検索/更新/削除(C#/VB.NET)

ORACLE検索/更新/削除(C#/VB.NET)

2010年06月18日

ORACLE(オラクル)を操作(接続/検索/追加/更新/削除)するサンプル(ソース/コード)です。System.Data.OleDbを使用しています。
System.Data.OleDbを使用すると汎用的(ACCESSやSQLサーバーも可)に使用出来て便利です。

ちなみに、System.Data.SqlClientはSQLサーバー専用です。System.Data.Odbcは汎用ですがODBC経由です。

関連するサンプルはこちらです。
ACCESS検索/更新/削除(C#/VB.NET)
SQL SERVER検索/更新/削除(C#/VB.NET)

' -----------------------------------------------------------
' ORACLE(オラクル)を操作するサンプル(VB.NET/VS2005)
' (必要)Imports System.Data.OleDb
Private Sub Button1_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles Button1.Click

    Dim dbCon As OleDbConnection
    Dim dbCmd As OleDbCommand

    ' ORACLE DB オープン
    dbCon = New OleDbConnection()
    Dim cst As String = ""
    cst = cst & "Provider=MSDAORA;"
    cst = cst & "Data Source=orcl;" 'ホスト文字列
    cst = cst & "User ID=system;"
    cst = cst & "Password=manager;"
    dbCon.ConnectionString = cst
    dbCon.Open()

    ' ORACLE DB レコード削除
    dbCmd = New OleDbCommand( _
        "delete from test", dbCon)
    dbCmd.ExecuteNonQuery()

    ' ORACLE DB レコード追加1
    dbCmd = New OleDbCommand( _
        "insert into test(col1,col2,col3) " & _
        "values('ABC',123,TO_DATE(" & _
        "'2010-06-17 09:21:34'," & _
        "'yyyy-mm-dd hh24:mi:ss'))", dbCon)
    dbCmd.ExecuteNonQuery()

    ' ORACLE DB レコード追加2
    dbCmd = New OleDbCommand( _
        "insert into test(col1,col2,col3) " & _
        "values('AAA',111,TO_DATE(" & _
        "'2010-11-11 11:11:11'," & _
        "'yyyy-mm-dd hh24:mi:ss'))", dbCon)
    dbCmd.ExecuteNonQuery()

    ' ORACLE DB レコード更新
    Dim dtm As String = Now.ToString("yyyy-MM-dd HH:mm:ss")
    dbCmd = New OleDbCommand( _
        "update test set " & _
        "col1 = 'DEF', " & _
        "col2 = '456', " & _
        "col3 = TO_DATE('" & dtm & _
        "','yyyy-mm-dd hh24:mi:ss') " & _
        "where col1='ABC'", dbCon)
    dbCmd.ExecuteNonQuery()

    ' ORACLE DB レコード検索
    Dim dtTbl As New DataTable
    dbCmd = New OleDbCommand( _
        "select col1,col2,col3 from test", dbCon)
    Dim dbAdp As New OleDbDataAdapter(dbCmd)
    dbAdp.Fill(dtTbl)
    For i As Integer = 0 To dtTbl.Rows.Count - 1
        System.Diagnostics.Debug.WriteLine( _
            dtTbl.Rows(i)("col1").ToString() & ":" & _
            dtTbl.Rows(i)("col2").ToString() & ":" & _
            dtTbl.Rows(i)("col3").ToString())
    Next

    ' ORACLE DB クローズ
    dbCon.Close()
    dbCon.Dispose()
End Sub
' -----------------------------------------------------------

// ----------------------------------------------------------
// ORACLE(オラクル)を操作するサンプル(C#.NET/VS2005)
// (必要)using System.Data.OleDb;
private void button1_Click(object sender, EventArgs e)
{
    OleDbConnection dbCon;
    OleDbCommand dbCmd;

    // ORACLE DB オープン
    dbCon = new OleDbConnection();
    String cst = "";
    cst = cst + "Provider=MSDAORA;";
    cst = cst + "Data Source=orcl;"; //ホスト文字列
    cst = cst + "User ID=system;";
    cst = cst + "Password=orcl;";
    dbCon.ConnectionString = cst;
    dbCon.Open();

    // ORACLE DB レコード削除
    dbCmd = new OleDbCommand(
        "delete from test", dbCon);
    dbCmd.ExecuteNonQuery();

    // ORACLE DB レコード追加1
    dbCmd = new OleDbCommand(
        "insert into test(col1,col2,col3) " +
        "values('ABC',123,TO_DATE(" +
        "'2010-06-17 09:21:34'," +
        "'yyyy-mm-dd hh24:mi:ss'))", dbCon);
    dbCmd.ExecuteNonQuery();

    // ORACLE DB レコード追加2
    dbCmd = new OleDbCommand(
        "insert into test(col1,col2,col3) " +
        "values('AAA',111,TO_DATE(" +
        "'2010-11-11 11:11:11'," +
        "'yyyy-mm-dd hh24:mi:ss'))", dbCon);
    dbCmd.ExecuteNonQuery();

    // ORACLE DB レコード更新
    String dtm =
        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    dbCmd = new OleDbCommand(
        "update test set " +
        "col1 = 'DEF', " +
        "col2 = '456', " +
        "col3 = TO_DATE('" + dtm +
        "','yyyy-mm-dd hh24:mi:ss') " +
        "where col1='ABC'", dbCon);
    dbCmd.ExecuteNonQuery();

    // ORACLE DB レコード検索
    DataTable dtTbl = new DataTable();
    dbCmd = new OleDbCommand(
    "select col1,col2,col3 from test", dbCon);
    OleDbDataAdapter dbAdp = new OleDbDataAdapter(dbCmd);
    dbAdp.Fill(dtTbl);
    for (int i = 0; i <= dtTbl.Rows.Count - 1; i++)
    {
        System.Diagnostics.Debug.WriteLine(
            dtTbl.Rows[i]["col1"].ToString() + ":" +
            dtTbl.Rows[i]["col2"].ToString() + ":" +
            dtTbl.Rows[i]["col3"].ToString());
    }

    // ORACLE DB クローズ
    dbCon.Close();
    dbCon.Dispose();
}
// ----------------------------------------------------------
スポンサーサイト

ListBox追加/参照/削除(C#/VB.NET) | トップページへ戻る | SQL SERVER検索/更新/削除(C#/VB.NET)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る