C#sql选择表中某一整数字段大于某一值的所有记录
程序为:stringSqlCommand="select*from[position]where项目编号='"+num_project.ToString()+"'and监...
程序为:
string SqlCommand = "select * from [position] where 项目编号='" + num_project.ToString() + "'and 监测点>'" + num_monitoring.ToString() + "'";
SqlDataAdapter thisAdapter = new SqlDataAdapter(SqlCommand, conn);
//--------------------新建数据集合---------------------------------------
//清空数据集合
thisDataSet.Clear();
thisAdapter.Fill(thisDataSet, "position");
int count = thisDataSet.Tables["position"].Rows.Count;
for (int i = 0; i < count; i++)
{
string NUM=thisDataSet.Tables["position"].Rows[i]["监测点"].ToString();
SqlCommand = "update [position] set 监测点='" + Convert.ToString(Convert.ToInt16(NUM) - 1) + "'where项目编号='" + num_project.ToString() + "'and 监测点='" + NUM + "'";
SqlCommand recmd = new SqlCommand(SqlCommand, conn);
recmd.ExecuteNonQuery();
}
其中num_monitoring为一序号,目的是找出SQL数据库中【position】表中大于num_monitoring的所有记录,并将相应的序号比原来小1,背景:删除某一条记录后,将剩余的序号还是按照从1开始以1为单位递增排列。 展开
string SqlCommand = "select * from [position] where 项目编号='" + num_project.ToString() + "'and 监测点>'" + num_monitoring.ToString() + "'";
SqlDataAdapter thisAdapter = new SqlDataAdapter(SqlCommand, conn);
//--------------------新建数据集合---------------------------------------
//清空数据集合
thisDataSet.Clear();
thisAdapter.Fill(thisDataSet, "position");
int count = thisDataSet.Tables["position"].Rows.Count;
for (int i = 0; i < count; i++)
{
string NUM=thisDataSet.Tables["position"].Rows[i]["监测点"].ToString();
SqlCommand = "update [position] set 监测点='" + Convert.ToString(Convert.ToInt16(NUM) - 1) + "'where项目编号='" + num_project.ToString() + "'and 监测点='" + NUM + "'";
SqlCommand recmd = new SqlCommand(SqlCommand, conn);
recmd.ExecuteNonQuery();
}
其中num_monitoring为一序号,目的是找出SQL数据库中【position】表中大于num_monitoring的所有记录,并将相应的序号比原来小1,背景:删除某一条记录后,将剩余的序号还是按照从1开始以1为单位递增排列。 展开
2个回答
展开全部
1、数据库中的项目编号和监测点是什么类型的数据?如果是 int,则无需进行 string 转换,参数传递也无需加单引号(')。
2、使用存储过程,如果直接编写查询语句建议使用 StringBuilder 或者 string.Format
3、没必要循环更新数据,完全可以批量更新。
4、数据架构很重要,数据库、表、字段尽量不要用中文
5、.NET Framework 4.0 可以使用 System.Data.Linq.DataContext 进行数据管理
注意:千万别用下面的代码直接执行
var num_project = 1;
var num_monitoring = 1;
var query = "";
var sb = new StringBuilder();
sb.AppendLine("SELECT * FROM [Position]");
sb.AppendLine("WHERE 项目编号 = {0} AND 监测点 > {1}");
query = string.Format(sb.ToString(), num_project, num_monitoring);
Console.WriteLine(query);
sb.Clear();
sb.AppendLine("UPDATE [Position]");
sb.AppendLine("SET 监测点 = 监测点 - 1");
sb.AppendLine("WHERE 项目编号 = {0} AND 监测点 > {1}");
query = string.Format(sb.ToString(), num_project, num_monitoring);
Console.WriteLine(query);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询