关于事务的问题? 急急急。

jcaomao 2003-05-11 09:23:20
我有两个表,一个记录比较少,另一个大概有100万条记录左右。
下再出现一个问题,我的程序是通过ado.net连结到数据库的,程序中操作那个小点的表一点问题都没有,可是操作那个大表,如:delete 或 update,我的程序中也没有提示错误,但是我在查询分析器中检查,这些命令根本就不起作用。后来我用同样的语句载查询分析器里执行,也没有问题,这是怎么回事啊?

是不是和事务有关系,我在ado中怎么写这个字符串阿?
...全文
92 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jcaomao 2003-05-11
  • 打赏
  • 举报
回复
我发现了一个问题,insert和select 不会超时,但delete不管怎么设都是超时
jcaomao 2003-05-11
  • 打赏
  • 举报
回复
我试了,加上commit也不行。
string sqlstr="delete from page where state='1' go commit go"
jcaomao 2003-05-11
  • 打赏
  • 举报
回复
这次总是出现服务器超时,应该是记录太多了,但是
string con="user id=aaa;password=aaa;initial catalog=aaa;data source=aaa;Connect Timeout=240";

我都设成240秒了,可是好像20秒左右就断了,怎么回事啊?
pengdali 2003-05-11
  • 打赏
  • 举报
回复
就是删除和更新语句并没有改变表的记录
如:删除page表中 state字段 等于1的所有记录。
string sqlstr="delete from page where state='1'";
SqlCommand accesscommand=new SqlCommand(sqlstr,con);
accesscommand.ExecuteNonQuery();
执行时程序也没有报错,并且执行了很长时间,但是表里还有这些记录阿,没有删除掉。


你这样写:

delete .....
commit ----这句加上
pengdali 2003-05-11
  • 打赏
  • 举报
回复
在查询分析器里执行一下:
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
看结果,如果还会出现

就执行这个:
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
jcaomao 2003-05-11
  • 打赏
  • 举报
回复
用企业管理器打开表,没有问题阿。

to:“这些命令根本就不起作用,是什么意思?“

就是删除和更新语句并没有改变表的记录
如:删除page表中 state字段 等于1的所有记录。
string sqlstr="delete from page where state='1'";
SqlCommand accesscommand=new SqlCommand(sqlstr,con);
accesscommand.ExecuteNonQuery();
执行时程序也没有报错,并且执行了很长时间,但是表里还有这些记录阿,没有删除掉。



CrazyFor 2003-05-11
  • 打赏
  • 举报
回复
检查你的语句,是语句的问题。
pengdali 2003-05-11
  • 打赏
  • 举报
回复
这些命令根本就不起作用

是什么意思?

你用企业管理器打开表,会出现什么现象?

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧