因为目前要做个结算的功能,所以需要把db2数据库锁一下,等操作完再解锁,想在c#里调用sql语句来完成,但是自己不会写这个sql,网上也没有搜到,请哪位高手指点一下,最好能有锁sql server,access的语句 (:P)
解决方案 »
- 如何将整型数转换成字符串?
- 谁帮我看看报错???网上找了一个c#播放avi文件的例子,运行不了。
- ***System.Diagnostics.Process调用exe之后怎么取得exe的返回值?
- 100分急求c#贪食蛇源码
- 刚建一.net c#群,号:5617862
- C# 数据库备份的问题
- 高手请入:TreeView问题
- 新手请教,关于dataset
- oracle数据库访问!
- c#有没有listview和treeview结合在一起的控件?就是类似vs2003编译的时候监视窗口差不多的东西
- TreeView显示控制!
- 简单问题,大家帮忙~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BEGIN TRAN--不显示计数信息
SET NOCOUNT ON
DECLARE @ProjNo varchar(50),@CusNo varchar(50)--声明游标
DECLARE CRMPSContact_cursor CURSOR FOR
SELECT ProjNo
FROM CRMPSContact
WHERE ProjNo>0--打开游标
OPEN CRMPSContact_cursor--取第一行的值给专案变量: @ProjNo
FETCH NEXT FROM CRMPSContact_cursor
INTO @ProjNo--取得客户号
select @CusNo = CusNo
from CRMPSProjectM
where ProjNo = @ProjNo--得到CRMPSContact中某专案号对应的客户号
update CRMPSContact
set CusNo = @CusNo
where ProjNo = @ProjNo--执行错误回滚
if @@error!=0
begin
rollback tran
return
end--移动游标,其它所有行更新操作(当到结尾时退出)
WHILE @@FETCH_STATUS = 0
BEGIN
--游标移到下一行
FETCH NEXT FROM CRMPSContact_cursor
INTO @ProjNo --取得客户号
select @CusNo = CusNo
from CRMPSProjectM
where ProjNo = @ProjNo --得到CRMPSContact中某专案号对应的客户号
update CRMPSContact
set CusNo = @CusNo
where ProjNo = @ProjNo
--执行错误回滚
if @@error!=0
begin
rollback tran
return
end
END--提交所有变更
COMMIT TRAN--关闭游标
CLOSE CRMPSContact_cursor--释放游标
DEALLOCATE CRMPSContact_cursor--恢复设置
SET NOCOUNT OFF
GO2. C#写法:
public void UpdateContactTableByDataSet(DataSet ds,string strTblName)
{
try
{
SqlDataAdapter myAdapter = new SqlDataAdapter();
SqlConnection conn = new SqlConnection(strConnection);
SqlCommand myCommand = new SqlCommand(SQL_GetAllRecordFromDemand(strTblName),conn);
myAdapter.SelectCommand = myCommand;
SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
conn.Open();
SqlTransaction myTrans = conn.BeginTransaction();
myCommand.Transaction = myTrans;
try
{
myAdapter.Update(ds,strTblName);
myTrans.Commit();
}
catch(Exception e)
{
try
{
myTrans.Rollback();
}
catch (SqlException ex)
{
if (myTrans.Connection != null)
{
Console.WriteLine("回滚失败! 异常类型: " + ex.GetType());
}
}
}
finally
{
conn.Close();
}
}
catch(Exception ex)
{
throw ex;
}
}
在你的WEB程序处理里访问一个控制标志。
可不可以说的详细点,否则看了晕