- - PR -
DataViewからテーブルにデータを追加したい(VB.NET)
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-03-19 13:15
VB.NET 2003を最近使い始めました、.netです。
お手柔らかにお願いします。 DataViewのAddNewメソッドを使用して、テーブルにデータ行を追加をしようと思っています。 以下のようなコードでコンパイルすると、コードは通るのですが、チェックしてみるとテーブルにデータは追加されていませんでした。 どのうようにしたら、データ行をテーブルに追加するようになるのでしょうか? よろしくお願いします。 _________________ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim int As Integer int = Val(TextBox2.Text) Dim table As DataTable = DataSet21.Tables("user_file") Dim dv As DataView = table.DefaultView dv.AllowDelete = False Dim dvv As DataRowView = dv.AddNew() dvv("user_name") = TextBox1.Text dvv("shain_no") = TextBox2.Text dvv("ps") = TextBox3.Text dvv("section") = TextBox4.Text dvv.EndEdit() End Sub End Class | ||||||||
|
投稿日時: 2004-03-19 13:22
Viewだからです。Viewには実体がありません。「見せ方」だけです。DataTable、実体の方へ追加してください。 | ||||||||
|
投稿日時: 2004-03-19 13:39
NAL-6295です。
テスト的に下記のコーディングしてみたら出来ましたけどね。
どのタイミングで、追加されなかったということをチェックしたのでしょうか。 | ||||||||
|
投稿日時: 2004-03-19 14:21
dvv.EndEdit()後でも、レコードは追加されていませんでした。 見よう見まねでNAL-6295さんのコードでコーディングしましたが、やはり結果は反映されませんでした。 何か別の問題でもあるのでしょうか。 ______________________________ Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim r As Integer r = Val(TextBox2.Text) Dim dt As DataTable Dim dv As DataView dt = New DataTable("member") dt.Columns.Add("user_name") dt.Columns.Add("shain_no") dt.Columns.Add("pass") dt.Columns.Add("part") dv = New DataView(dt) With dv.AddNew .Item("user_name") = TextBox1.Text .Item("shain_no") = TextBox2.Text .Item("pass") = TextBox3.Text .Item("part") = TextBox4.Text .EndEdit() End With End Sub End Class | ||||||||
|
投稿日時: 2004-03-19 14:26
NAL-6295です。
どのように、確認しているのでしょうか。 ちなみにさっきのサンプルでは、 データテーブル.Rows.Count でチェックしました。 ついでに言えば、通常は、Jittaさんが仰る通り、 dr as DataRow = データテーブル.NewRow dr("***") = 値 データテーブル.Rows.Add(dr) とデータテーブル自体に対して直接やる事が多いです。 | ||||||||
|
投稿日時: 2004-03-19 14:35
あ〜!大変な思い違いをしていました。ご両人に感謝!!
#ということは、あの辺で動作がおかしくなるはずだが??
falseになっていませんか?(規定値はtrueです)
これをしていないとか? 引用元「DataView を使用したデータの変更」 | ||||||||
|
投稿日時: 2004-03-19 15:36
ここはTrueになっています。 ちなみにJittaさんが引用元としている所を参考にしてコーディングしています。 それなのに、結果が伴わないのは、別の問題があるのかもしれないですね・・・。 例えば、データベースの種類や接続方法...etc JittaさんやNAL-6295さんがご指摘されているように、DataTableへの追加も視野に入れて、もう少しいろいろと検証します。 | ||||||||
|
投稿日時: 2004-03-19 15:52
ソースを今、初めて見ました(読みました)
もしかして、提示されているだけで、本当に終わりでしょうか?そして、『テーブルにデータは追加されていませんでした』の『テーブル』は、データベースの方でしょうか? もしそうなら、確かに、追加されません。データベースからDataTableに持ってくるために、SQL文を発行したと思います。だとしたら、同じくDataTableからデータベースへ持って行くために、SQL文を発行しなければならない、と思いませんか? [ メッセージ編集済み 編集者: Jitta 編集日時 2004-03-19 15:53 ] |