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

您是否尝试从 SQL 中的表中获取值?

如果是这样,您可能不需要使用数据集,您只需要从 SQL 中读取值。

Ado.Net 上的 MSDN 文章

使用 SqlDataReader 获得值后,您可以增加它并重新插入它。

使用 Ado.Net 的简单 CRUD 操作

于 2013-03-05T19:45:17.183 回答
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 中的值呢?它真的很擅长这种事情。有了你想要的结果,你可以做这样的事情。

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 回答