|
分類:[.NET 全般]
public System.Data.DataTable ReturnDataTable
(string query, string dataMember)
{
cmd.CommandText = query;
cmd.CommandType = System.Data.CommandType.Text;
using (OleDbDataAdapter oda = new OleDbDataAdapter(cmd.CommandText, Cnn))
{
using (System.Data.DataSet da = new System.Data.DataSet())
{
try
{
oda.Fill(da, dataMember);
System.Data.DataTable dt = new System.Data.DataTable();
dt = da.Tables[dataMember].Copy();
return dt;
}
catch (OracleException oex)
{
Console.WriteLine(string.Format("Execute Error:{0}", oex.Message.ToString()));
throw;
}
}
}
}
///test
public void DataBaseUpdate(System.Data.DataTable dt)
{
using (OleDbDataAdapter oda = new OleDbDataAdapter())
{
try
{
using (OleDbCommandBuilder ocb = new OleDbCommandBuilder(oda))
{
oda.Update(dt);
}
}
catch (OleDbException oex)
{
Console.WriteLine(string.Format("Execute Error:{0}", oex.Message.ToString()));
throw;
}
}
}
このようなメソッドを作成しました。このクラスは他にデータベースへの接続制御等を行っています。
そこで質問なのですが、DataBaseUpdateメソッドにてACCESSのデータベースに
一括でDataTableのデータを丸々登録させるようにはできたりしますか?
またこの時、重複しているデータを判別しそれらはUPDATEしたいです。
やり方があれば教えて下さい。
|