1

私の質問をご覧いただきありがとうございます。うまくいけば、私は答えを得ることができます。私はC#でプロジェクトを持っています。テーブルから IF フィールドを取得しようとしています。そのデータを取得したら、値を 1 増やしたいと思います (たとえば、10000 を取得し、1 を追加して 10001 にします)。次に、増分した値を別のテーブルに入力します。

これは私がこれまでに持っているものです(選択クエリのみ):

cmd = new SqlCommand("select reqID from [RequestID] where (ID = 1)", con);

DataSet を使用してみましたが、何の進展もありませんでした。私はコーディングにあまり慣れていませんが、試してみてください!

DataSet ds = new DataSet();
myDA1.Fill(ds, "RequestID");
Int64 RequestID = default(Int64);
RequestID = ds.Table("RequestID").Rows(0).Item("ReqID");
RequestID += 1;

どんな助けでも大歓迎です!

ジョシュ

4

4 に答える 4

4

とにかく走れ:

INSERT INTO yourOtherTable ( reqId ) 
SELECT reqID + 1 
FROM RequestID
于 2013-03-05T19:42:21.197 に答える
0

これを変えるだけ

サンプル

string sql1 = string.Format(@"select reqID from [RequestID] where (ID = 1)");
        SqlDataAdapter da1 = new SqlDataAdapter(sql1, con);
        DataSet ds1 = new DataSet();
        con.Open();
        da1.Fill(ds1);
        RequestID = ds.Table[0]["RequestID"];
于 2013-03-05T19:47:41.357 に答える
0

SQL でテーブルから値を取得しようとしていますか?

その場合、おそらくデータセットをいじる必要はなく、SQL から値を読み取るだけで済みます。

Ado.Net に関する MSDN の記事

SqlDataReader を使用して値を取得したら、それをインクリメントして再挿入できます。

Ado.Net を使用した単純な CRUD 操作

于 2013-03-05T19:45:17.183 に答える
0

SQLで値をインクリメントしないのはなぜですか? こういうの本当に上手いです。あなたの望む結果で、あなたはこのようなことをすることができます.

cmd = new SqlCommand("select reqID + 1 as reqID from [RequestID] where (ID = 1)", con);
con.Open();
List<int> requestIds = new List<int>();
using(SqlDataReader reader = cmd.ExecuteReader()){
  while(reader.Read()){
    requestIds.Add(reader.GetInt32(0));
  } 
}
return requestIds;  // I find that Lists are much easier to work with 
// than DataTables, particularly for novices.

より明示的なものが必要な場合は、次の行

    requestIds.Add(reader.GetInt32(0));

次のように変更できます。

    requestIds.Add(reader.GetInt32(0) + 1);

クエリはそのままにしておきます。

編集:コメントによる応答の変更:

返信いただきありがとうございます。その値を別のテーブルに入力したいのですが、エンドユーザーが入力する他のすべてのデータとともに、「後で」値を追加します。

于 2013-03-05T20:05:42.990 に答える