C#用ソースコード


using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
using System.Text.RegularExpressions;
using System.Data.Common;
リスト2 必要なクラスをインポート(C#)

public static Int32 ParseEmailAddress(string eMail)
{
    Regex emailRegEx = 
        new Regex("(\\S+)@([^\\.\\s]+)(?:\\.([^\\.\\s]+))+");
    Match m = emailRegEx.Match(eMail);
    if (m.Success == true)
    {
        return 1;
    }
    else {
        return 0;
    }
}
リスト3 ParseEmailAddress(正規表現を使って電子メールアドレスの形式を確認するファンクション、C#)


public static Int32 EmailRegister(Int32 empNo, String eMail)
{
    try
    {
        if (ParseEmailAddress(eMail) == 0)
        {
            return 0;
        }
        //データベース接続
        OracleConnection conn =
        new OracleConnection("context connection=true");
        conn.Open();

        OracleCommand cmd = conn.CreateCommand();
        cmd.CommandText = "Update EMP set";
        cmd.CommandText += " EMAIL= :EMAIL";
        cmd.CommandText += " Where EMPNO = :EMPNO";

        //パラメータ定義
        OracleParameter prmEMAIL = cmd.CreateParameter();
        prmEMAIL.Value = eMail;
        cmd.Parameters.Add(prmEMAIL);
        OracleParameter prmEMPNO = cmd.CreateParameter();
        prmEMPNO.Value = empNo;
        cmd.Parameters.Add(prmEMPNO);

        //戻り値は行数(0は失敗)
        return cmd.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
        return 0;
    }
}
リスト4 EmailRegister(メールアドレスチェック後に電子メールアドレスを登録するファンクション、C#)


public static Int32 SerializeEmpData()
{
    try
    {
        //データベース接続
        OracleConnection conn =
        new OracleConnection("context connection=true");
        conn.Open();

        OracleCommand cmd = conn.CreateCommand();
        cmd.CommandText = "SELECT * FROM EMP";
        OracleDataAdapter da = new OracleDataAdapter();
        da.SelectCommand = cmd;
        DataSet ds = new DataSet();
        //SELECTの実行
        da.Fill(ds);
        
        ///出力先は環境に応じて変更してください
        ds.WriteXml("C:\\emp.xml");
        return 1;
    }
    catch (Exception ex)
    {
        return 0;
    }
}
リスト4 SerializeEmpData(EMP表のデータをXMLファイルとして出力するファンクション、C#)