c#逐条修改数据问题

用c#2005连接SQLSERVER2005数据库,逐行读取查询出的的据进行应用操作(返回的数据不止一条),把读取出的数据应用完后,修改该条数据的状态位,表示我已经对该数... 用c#2005连接SQL SERVER 2005数据库,逐行读取查询出的的据进行应用操作(返回的数据不止一条),把读取出的数据应用完后,修改该条数据的状态位,表示我已经对该数据进行操作过,下次查询就不会返回该条数据,意思是边读取数据库,边修改,没读取一条就修改一条,同步操作,即一次查询有多条语句,但是要逐条读,读后该条要马上状态位要立即修改,请问这个功能怎么实现?求高手解决!
全部要用程序实现,如果数据应用操作不成功,状态位就不改了,求详细实现代码…!比如数据库中有三个字段,int id(主键),varchar(50) data(数据项),int state(状态位),求详细代码…!
展开
 我来答
2known
2009-02-25 · TA获得超过1334个赞
知道小有建树答主
回答量:511
采纳率:100%
帮助的人:355万
展开全部
逐条读取的问题很好结决,使用C#Syetem.Data类中访问SqlServer的Reader对象和相应的方法打开数据库记录集就可以了。

对于读取后修改然后修改标志位,那就看你需要怎么更改了。
a,如果可以使用1条sql语句完成修改和标志位的更改那就很简单了,按照主键修改当前记录就可以。
b,如果使用1条sql语句无法完成以上2个修改,那就必须使用事务机制。C#提供了事务执行的方案。不过这个地根据实际情况,需要看帮助了,一句两句说不清楚。

总之,你的需求并不难实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6eed2f8
2009-02-25 · TA获得超过5082个赞
知道大有可为答主
回答量:3423
采纳率:0%
帮助的人:3823万
展开全部
使用存储过程呗,执行两条sql语句就行了,一句是把要查询的记录标示成正在修改
然后把状态为正在修改的查处来不就行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wenshuaiws
2009-02-27 · TA获得超过226个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:223万
展开全部
先取出要处理的数据序列为List<String> ls
foreach (string data in ls)
{
using (System.Transactions.TransactionScope tx = new System.Transactions.TransactionScope())
{
try
{数据操作;
修改状态位;
}
tx.Complete();
result = "删除成功!";
catch (Exception e)
{
tx.Dispose();
result = "删除失败!";
}
}
}
使用事务有错逆回
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
极品来了444
2009-02-25 · TA获得超过302个赞
知道小有建树答主
回答量:1534
采纳率:0%
帮助的人:0
展开全部
数据操作不成功,状态位就不改了。

只需启用事务处理,其它的事情交给SQL2005吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式