行の変数の作り方


あや  2008-10-02 01:22:59  No: 140543

お疲れ様です。

データセットから1行だけを取り出したいのですがFormで変数を作ろうとしていたら
Friend Sub New (rb As system.Data.DataRowBuilder)のパラメータ'rb'に対して引数が指定されていませんとでました。

どうすればいいのでしょうか?

ちなみに書いたソースは
Dim row As New データセット名.データRowです。
よろしくお願いします。


特攻隊長まるるう  2008-10-02 02:12:02  No: 140544

。。。とにかくむちゃくちゃな感じ。

変数宣言で使用するのはデータ型です。
実体を使用しないで下さい。

また、何でもかんでも New すればいいわけではありません。
インスタンスが必要な場面で、コンストラクタが公開されている
場合に行ってください。

変数宣言は
    Dim row As DataRow
これだけいいはずです。

あと、データセットに DataRow は格納されていません。
間に DataTable が抜けてます。勉強しなおしてください。
[ADO.NET基礎講座 データセットの基本構造]
http://www.atmarkit.co.jp/fdotnet/basics/adonet04/adonet04_01.html


魔界の仮面弁士  2008-10-02 02:52:48  No: 140545

> データセットから1行だけを取り出したいのですが
特定の行位置から取り出すのであれば、
  Dim row As データセット名.データRow
  row = tbl(0)
などとすれば OK です。
0 は行番号、変数 tbl は型付DataTable(データセット名.データ)型です。

また、主キー値に基づいて取り出すのであれば、
  Dim row As データセット名.データRow
  row = tbl.FindBy列名1("値1")
のようにも書けます。

> Dim row As New データセット名.データRowです。
新しい行を追加したい場合は、New するのではなく、
  Dim row As データセット名.データRow
  row = tbl.NewデータRow()
  row.列名1 = "値1"
  row.列名2 = "値2"
  tbl.AddデータRow(row)
のようにします。

もしくは「tbl.AddデータRow("値1", "値2", …)」とか。


魔界の仮面弁士  2008-10-02 03:03:13  No: 140546

# 話が別の方向に行っているような。

> あと、データセットに DataRow は格納されていません。
> 間に DataTable が抜けてます。勉強しなおしてください。

今回の質問は、型付きデータセット(Typed DataSet)に対するものでしょう。

[データセット名] という名前の DataSet を作り、その中に
[データ] という名前の DataTable を作ったというのが、
今回のシナリオかと。

この場合、使用可能な型としては
  Dim ds As データセット名
  Dim tbl As データセット名.データDataTable
  Dim row As データセット名.データRow
となりますので、型の指定方法そのものは間違っていないと思いますよ。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加