1

tran_dtlsというテーブルから入力した「ds」というデータセットがあります。次に、このデータセット(またはデータセット「dt」内のテーブル)にメソッドを記述します。これにより、スカラーが効果的に取得されます。このクエリと同じ出力を持つ値:

 select sum(amt) from TRAN_DTLS 
 where GL_CODE='" + row["gl_code"].ToString() + "' 
 and SUB_CODE='" + row["sub_code"].ToString() + "' 
 and DBCR='C'"

ここで、amt、GL_code、SUb_code、DBCRはtran_dtlsテーブルの列なので、さまざまな条件の合計を選択します。これまでにこのようなことをしたことがないので、これでも可能かどうかはわかりません。か否か

4

1 に答える 1

1

DataSetに対してSQLを記述できるとは思いません。ただし、LINQは使用できます。

var ds = new DataSet();
var tranDtls = new DataTable("tran_dtls");
tranDtls.Columns.Add("gl_code", typeof(string));
tranDtls.Columns.Add("amt", typeof(int));
var row = tranDtls.NewRow();
row["gl_code"] = "a";
row["amt"] = 1;
tranDtls.Rows.Add(row);
ds.Tables.Add(tranDtls);

var result = ds.Tables["tran_dtls"].AsEnumerable()
    .Where(r => (string)r["gl_code"] == "a")
    .Select(r => (int)r["amt"])
    .Sum();
于 2012-09-18T06:17:54.240 に答える