Home > C# > PostgreSQL > Npgsqlドキュメント(2014年7月25日・13改訂版)

.NETデータセットとその動作

作成日 2015.03.06
最終更新日 2015.03.06

概要

PostgreSQLデータベース・サーバのための、.NET データ・プロバイダNpgsqlのドキュメント(2014年7月25日・13改訂版)の和訳です。 旧版ドキュメント(外部サイト) の和訳は存在しましたが、現行版のドキュメントのものは見つからなかったので和訳しました。 PostgreSQLとC#の両方を学ぶための資料集めの一環としての作成しています。

原文

npgsqlマニュアル(2014年7月25日・13改訂版)(外部サイト)

公式ページのドキュメントです。英語で書かれています。

.NETデータセットとその動作

Working with .NET Datasets

Npgsqlは、あなたが、データベースへ戻って.NET DataSetオブジェクトの変更を伝えることができます。 下記の例は、データセットにレコードを挿入することを示します。関連するデータベースを更新するという要求が続きます。:

このメソッドは、バックエンドに次のテーブルがあることを期待します。:


create table tableb(field_int2 int2, field_timestamp timestamp, field_numeric numeric);

void AddWithDataSet(NpgsqlConnection conn)
{   
    conn.Open();            
    DataSet ds = new DataSet();

    NpgsqlDataAdapter da = new NpgsqlDataAdapter("select * from tableb", conn); 
    da.InsertCommand = new NpgsqlCommand("insert into tableb(field_int2, field_timestamp, field_numeric) " + 
                            " values (:a, :b, :c)", conn);
    da.InsertCommand.Parameters.Add(new NpgsqlParameter("a", NpgsqlDbType.Smallint));
    da.InsertCommand.Parameters.Add(new NpgsqlParameter("b", NpgsqlDbType.Timestamp));
    da.InsertCommand.Parameters.Add(new NpgsqlParameter("c", NpgsqlDbType.Numeric));
    da.InsertCommand.Parameters[0].Direction = ParameterDirection.Input;
    da.InsertCommand.Parameters[1].Direction = ParameterDirection.Input;
    da.InsertCommand.Parameters[2].Direction = ParameterDirection.Input;
    da.InsertCommand.Parameters[0].SourceColumn = "field_int2";
    da.InsertCommand.Parameters[1].SourceColumn = "field_timestamp";
    da.InsertCommand.Parameters[2].SourceColumn = "field_numeric";

    da.Fill(ds);

    DataTable dt = ds.Tables[0];
    DataRow dr = dt.NewRow();
    dr["field_int2"] = 4;
    dr["field_timestamp"] = new DateTime(2003, 03, 03, 14, 0, 0);
    dr["field_numeric"] = 7.3M;

    dt.Rows.Add(dr);
    DataSet ds2 = ds.GetChanges();
    da.Update(ds2);
    ds.Merge(ds2);
    ds.AcceptChanges();
}
			
このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」