1

ビジュアル C# のデータ ソースから変数に変数を渡そうとしていますが、コードは値を返しません。
値を取得するために使用しているコードは次のとおりです。

object o = rateTableDBDataSet1.Tables["RateTable"].Rows[1][0];

位置 1 に行がないという結果が返ってきました。何かアイデアはありますか?

4

4 に答える 4

1

私はあなたが何を望んでいるかについて少し混乱しています。

データテーブルの構造とデータを一方の側からもう一方の側にコピーする場合は、Copyメソッドを試してください。

    System.Data.DataTable tb = new System.Data.DataTable();
    System.Data.DataTable tb2 = new System.Data.DataTable();
    object obj = new object();

    obj = tb.Copy();//adding to obj if you want....
    tb2 = tb.Copy();// of to another table without carrying the reference

編集:

あなたのコメントによると、これはあなたが望むものの例です:

        DataSet rateTableDBDataSet1 = new DataSet();
        //ds = whatever your data is comming from

        bool doesItHaveData = rateTableDBDataSet1.Tables["RateTable"].Rows.Count > 0;

        if (doesItHaveData)
        {
            object col1row1 = rateTableDBDataSet1.Tables["RateTable"].Rows[0][0];
            object col2row1 = rateTableDBDataSet1.Tables["RateTable"].Rows[0][1];

            object col1row2 = rateTableDBDataSet1.Tables["RateTable"].Rows[1][0];
        }

現在のエラーは、おそらく2レコードではないデータのデータがないためです(行1にアクセスしていて、インデックスは0で始まります)

于 2013-01-28T03:01:16.533 に答える
0
      public static decimal opcomm { get; set; }
      public static decimal opcommPercentage { get; set; }


      public static void SetOpCommission()
      {
          using (DataBaseClass dataclass = new DataBaseClass())
          {

              dataclass.Connect();

              string sql = @"SELECT  EmployeeComission, EmployeeComissionPercentage,MobileKindId,Id,StartDate FROM EmployeeCommission";

              opcomm = (decimal)dataclass.ExecuteScalar(sql);
              opcommPercentage = (decimal)dataclass.ExecuteScalar(sql);
          }
      }
于 2014-01-08T12:37:21.587 に答える
0

まず、「RateTable」に 2 番目の行がない理由を理解する必要があります。

一般に、列の値を取得するコードは正しいです。ただし、通常は名前で列にアクセスする方が適切です。これは読みやすく、列の順序が変更された場合にエラーが発生しにくくなります。

object o = rateTableDBDataSet1.Tables["RateTable"].Rows[0]["Column"]

「列」は実際の列名です。

于 2013-01-28T03:29:36.913 に答える