感谢您查看我的问题。希望我能得到答案。我有一个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;
任何帮助将不胜感激!
约什
答案 0 :(得分:4)
跑步:
INSERT INTO yourOtherTable ( reqId )
SELECT reqID + 1
FROM RequestID
答案 1 :(得分:0)
您是否尝试从SQL中的表中获取值?
如果是这样,您可能不需要使用数据集,只需要从SQL中读取值。
使用SqlDataReader获取值后,可以递增它并重新插入。
答案 2 :(得分: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"];
答案 3 :(得分: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);
让你离开查询一样。
编辑:由于评论而修改的回复:
感谢您的回复。我想将该值输入到另一个表中,但我将添加“稍后”的值,以及最终用户将输入的所有其他数据。