
質問させてください。
環境:PostgreSQL、VB.NET2010、Npgsql
PostgreSQL上のDBには以下のテーブルを準備
create table test_table (
id serial not null primary key,
category_name text not null
);
とりあえず1行のデータのみ入っています。
ユーザフォームにDataGridViewとButtonとBindingSourceを1つづつ配置。
以下のプログラムでフォームロード時にDBの内容をDataGridViewへ表示させることまでできました。
Imports Npgsql
Public Class Form1
Public Const conn = "Server=****;Port=****;User Id=****;Password=****;Database=****;"
Private DA As NpgsqlDataAdapter
Private DT As New DataTable
Private Sub Form1_Load(省略)
Try
Dim command As String = "select * from test_table"
DA = New Npgsql.NpgsqlDataAdapter( command, conn )
DT = New DataTable
DA.Fill(DT)
BindingSource1.DataSource = DT
DataGridView1.DataSource = BindingSource1.DataSource
Catch ex As Exception
MessageBox.Show(ex.Message.ToString(), "エラー")
End Try
End Sub
End Class
そこで、このDataGridViewへユーザが入力、修正し、配置したボタンを押すことでDBへ反映させたいのですが、この部分がよくわからなくて困っています。
PostgreSQL以外のDBはサンプルが沢山あるのですが・・・・
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>>業務はそれを待ってくれずとりあえず少しでも進めなければいけないのが辛いところです。
小学生に「微分・積分の問題を解きなさい」と強制しても無理なように、知らないことはできません。そんな業務できないと言いましょう。
>>Npgsql独自の部分があるようで、他のDB向けにかかれたサンプルではエラーになったり、動かなかったりしています。
単純に、DBの追加・更新・削除等だけなら、Npgsql独自の機能なんて不要だと思えますけどね。
独自部分を探して、とりあえずそれを抜きに動作するようにしてみれはどうでしょう?
>>実際のソースだけでなく、参考になるHP,サンプルソース等ありましたらお教え下さい。
私もネットや本やで参考になるサンプルを探したのですが、分かりやすくて参考になるサンプルソースは紹介した書籍でしかありませんでした。
お礼が遅くなりすみません。
>>小学生に「微分・積分の問題を解きなさい」と強制しても無理なように、知らないことはできません。そんな業務できないと言いましょう。
社会ではできないでは通用しない状況もあったりします。なかなか正論では通用しません。
>>単純に、DBの追加・更新・削除等だけなら、Npgsql独自の機能なんて不要だと思えますけどね。
独自部分を探して、とりあえずそれを抜きに動作するようにしてみれはどうでしょう?
通常のSQLコマンドでの操作はできています。
今回伺いたかったのは、DataGridView上でのデータ操作です。
>>私もネットや本やで参考になるサンプルを探したのですが、分かりやすくて参考になるサンプルソースは紹介した書籍でしかありませんでした。
あれからもいろいろと探して見ましたが、なかなかずばりのものはないですね。
C#のサンプルを見つけましたので、それをVBに移植してなんとか動きそうなところまでたどり着きました。
ありがとうございました。
No.1
- 回答日時:
>>PostgreSQL以外のDBはサンプルが沢山あるのですが・・・・
Npgsqlの説明をみると、
「.Net フレームワーク用に開発されたプログラムであればどんなものでもデータベースサーバにアクセスできます。」
と書かれています。
なので、DBがPostgreSQLであろうが、SQLServerであろうが、言語が同じサンプルなら問題なく動作するものと思いますよ。
>>ユーザが入力、修正し、配置したボタンを押すことでDBへ反映させたいのですが、この部分がよくわからなくて困っています。
これは、質問者さんがPostgreSQLというよりも、VB.NET2010のDBプログラムそのものの理解ができていないのだと思います。
「フォームロード時にDBの内容をDataGridViewへ表示させることまでできました。」
なんて書かれているくらいですからね。
実際問題として、.NETでDBを扱うのは、一見すると簡単そうに見えますが、実際には、DBプログラミングに関して、十分な知識が無いと無理だと思います。
.NET以前は、人間が頑張ってDBのプログラムのコードをガリガリと書いていた部分が、.NETではかなり自動生成されるようになりました。
が、それらのコードの果たす機能が不要になったわけではないので、その「見えなくなった機能」の部分を理解していないと訳解らなくなるってことです。
.NETでDBを扱われるのでしたら、「プログラミングADO.NET 2.0」(定価8,500円)を購入されて精読されることをお勧めします。
早速の回答、ありがとうございます。
>.NETでDBを扱われるのでしたら、「プログラミングADO.NET 2.0」(定価8,500円)を購入されて精読されることをお勧めします。
確かにいろいろな知識が不足しているため、勉強中ですが、業務はそれを待ってくれずとりあえず少しでも進めなければいけないのが辛いところです。
>DBがPostgreSQLであろうが、SQLServerであろうが、言語が同じサンプルなら問題なく動作するものと思いますよ。
Npgsql独自の部分があるようで、他のDB向けにかかれたサンプルではエラーになったり、動かなかったりしています。
>「フォームロード時にDBの内容をDataGridViewへ表示させることまでできました。」
事細かにプロセスを説明する場ではないと思ったので上のような表現をしました。
どのように表現するのが正しいのでしょうか?
実際のソースだけでなく、参考になるHP,サンプルソース等ありましたらお教え下さい。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱製PLC:ファイルレジスタ(...
-
Zと2とか紛らわしいのがあるか...
-
三菱シーケンサーA1SHCPUとA1SJ...
-
テストについて
-
オーバレイ方式と仮想記憶シス...
-
グーグルの障害者訓練プログラ...
-
納品 vs ご納品 どちらが正し...
-
「スポット受注」はどういう意...
-
texに関する初歩的な質問
-
長さ0の文字列を格納できません...
-
納入日と納品日について
-
電子納品 CDへの捺印について
-
【ASP.NET】DataSetをSqlDataSo...
-
テキストファイル内の外字の有無
-
見積だけで契約成立?
-
VC++ ラジオボタンの初期値に...
-
合意済み仕様の商品納入後にお...
-
発注書と見積書の品番が異なっ...
-
スーパーなどで今時期ドリンク...
-
Windows server 2022 CALとSQL ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Zと2とか紛らわしいのがあるか...
-
グーグルの障害者訓練プログラ...
-
三菱製PLC:ファイルレジスタ(...
-
テストについて
-
インプットとアウトプット
-
三菱シーケンサーA1SHCPUとA1SJ...
-
プログラムソースの値段
-
オーバレイ方式と仮想記憶シス...
-
東京でヨコイのソース買えますか?
-
マクロ
-
エントリーシート
-
発注してないのにシステム改修...
-
おすすめのプログラム開発の入...
-
プログラムコードの読解力の鍛え方
-
プログラム修正の際に古いソー...
-
オブジェクト指向でないプログ...
-
初心者です。プログラムを作り...
-
HPのTOPページによくあるTOPIX...
-
プログラムを作ってもらう費用
-
パソコンをたちあげるとへんな...
おすすめ情報