- - PR -
行の追加
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-07-14 14:38
VB.net2003でデータフォームウィザードを使ってACCESSのデータを読み込みました。このとき読み込まれているACCESSのテーブルにテキストボックスからデータを追加するボタンを作りたいのですがどのようにすればいいのかわかりません。AddRowを使ってみたのですがうまくいかないのです。
プロバイダーには「Jet.OLEDB.4.0」というのを使っています。 OSはwinXP,.NET Frameworkは1.1です。 よろしくお願いします。 | ||||
|
投稿日時: 2005-07-14 15:38
ADO.NET対応したデータブロバイダを使っているのであれば、SQL Serverであろうと、Oracleであろうと、Accessであろうと、基本的にはあまり変わらない。ADO.NET基礎講座でも読んで概要を学習した後、あらためて何が分からないのか聞いてください。
で、以下のURLで質問の仕方もちょいと勉強してください。 http://www.hyuki.com/writing/techask.html 美味く行かないなら、どのような動作を期待しているのか?実際の動作はどんなだったのか?ぐらいかは書きましょうよ。 | ||||
|
投稿日時: 2005-07-14 22:46
大変申し訳ございませんでした
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim dtSet As DataSet1 Dim dtTable As DataSet1.T_書込用DataTable Dim newRow As DataRow dtSet.Tables.Add(dtTable) newRow("ID") = TextBox1.Text dtTable.Rows.Add(newRow) End Sub 上記のようなコードを使ってTextBoxからデータグリッド上のテーブルへ書き込みたいのです。ビルドはできるのですがボタンを押すと「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーが出てしまいました。 | ||||
|
投稿日時: 2005-07-15 09:16
提示されたコードを見る限りでは
dtSetがnull(インスタンスが作られてない)のでは? _________________ Future Is What We Are! [ メッセージ編集済み 編集者: 117 編集日時 2005-07-15 09:18 ] | ||||
|
投稿日時: 2005-07-15 10:34
VS.NETを使用しているのであれば、 デバッグして何処でエラーになるのかを事前に調べておいてください。 (質問の内容やソースの提示方法を見る限り、.NET初心者と見受けましたが) で、原因は117さんにほぼ同意。 インスタンスが生成されてない場合はNothingになってるはず。 Nothingなオブジェクトを使おうとしたら・・・? 確認してみてください。 _________________ まゆりん @ わんくま同盟 Blog る。 | ||||
|
投稿日時: 2005-07-15 10:34
おはようございます。餅宮です。
#相変わらず回答にあらず。(役立たず とりあえず、会議室の「■@IT会議室のご利用についてのお願い」に目を通しましょう。 ここから本題 1.質問する前に、「Microsoft Visual Studio .NET 2003 ドキュメント」、google等の検索サイトで自分が困っていることを検索してみましょう。 今回の場合なら、「オブジェクト参照がオブジェクト インスタンスに設定されていません。」を検索してみましょう。 インスタンスが null の状態でメソッド、プロパティを呼び出しの際に発生する、例外だということが分るかと思います。 (この時点で出現した単語:インスタンス、null,メソッド、プロパティ、例外の意味を分らない場合は再度検索してみましょう。) 次は、デバッグ実行させて見ましょう。ブレイクポイントを設定し、一行毎に実行させていきます。 例外が発生したら、その個所のコードを見てみましょう。 オブジェクトが生成されていないということなので、その個所で使用しているオブジェクトにインスタンスが無いので、そのオブジェクトのインスタンスを生成してあげればいいと言うことが分ると思います。 2.コードを乗せる場合は例外が発生する最小のコードにしましょう。 エラーが出ない個所のコードをどんどん削除していくような感じでいいと思います。 (削除しすぎて、別のエラーを出さないように注意 少なくてもエラーが発生した以降のコードは要らないと思います。 | ||||
|
投稿日時: 2005-07-15 10:41
NAL-6295です。
コードを見る限り「インスタンスが生成されていない」というステップを乗り越えても DataSetとDataTableとDataRowを関連させた使い方について嵌るのではないかと思います。 (というかDataRowはコンストラクタにアクセスできないから下記をクリアしないと乗り越えられないのかな。) MSDNでDataSet,DataTable,DataRowについて調べてみてください。 DataTableに行を追加するにはどうすれば良いか。等わかると思います。 _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ |
1