首页 新闻 会员 周边

急!数据取出,过虑后更新到另一字段,运行后,基本处于停止状态

0
悬赏园豆:10 [已关闭问题]
从表中取出某一字段数据大概200b,过虑成50b,导入到这张表的另一字段。<BR>我的操作方法是:定义两个SqlConnection,SqlCommand,查询出一条,过虑之后,UPDATE 到另一字段中。<BR>问题:<BR>一次操作几十条没问题,但上百条,上千条之后就,程序运行到一半左右,基本处于停止状态了。打印没有更新成功的原因是 在执行cmd2.ExecuteNonQuery();返回既然是 -1.<BR>存储过程中很简单的语句:update dict_entest set <A href="mailto:SimpleTrans=@NewWord">SimpleTrans=@NewWord</A> where <A href="mailto:word=@Word">word=@Word</A>
问题补充: 1>我采取了分页导入,操作步骤:比如过虑第2k~3k 条数据,每页10条,先创建第一个CONN1,CMD1 查询到第一个 DR=10条,过滤出想要的,然后创建conn2,cmd2,执行cmd2.ExecuteNonQuery();插入到数据库中。关闭cmd2,conn2,执行完dr的数据后,dr.Close(); dr.Dispose();最后关闭conn1; 2》问题:当执行到 第2401条数据的时候,错误提示:“Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.” 3》只要从第2K-3K条数据执行的时候,到第2401的时候就弹出这个错误。
李辉明的主页 李辉明 | 初学一级 | 园豆:100
提问于:2008-08-04 15:40
< >
分享
其他回答(1)
0
你可以这么做,先成批的取数据,可以一次取100条,可以放到dataset中,然后更新这一百条数据。 重复成批处理,直到处理完所有数据
玉开 | 园豆:8822 (大侠五级) | 2008-08-04 17:29
0
insert into table1(????????????) (select ?????????? from table2 where ???????) INSERT INTO [StatisticsNew].[dbo].[VisitLog080806] ([UserID] ,[IP] ,[Url] ,[Ref] ,[AddDate] ,[Host] ,[RefHost] ,[NologinUser] ,[DayNum] ,[PushID]) (SELECT [UserID] ,[IP] ,[Url] ,[Ref] ,dateadd(dd,1,[AddDate]) ,[Host] ,[RefHost] ,[NologinUser] ,[DayNum] ,[PushID] FROM [StatisticsNew].[dbo].[VisitLog080805] where ?????????) 插入一个字段就把多余的字段去掉就好了 备注: 可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创建诸如表等的数据库对象),或通过执行 Update、Insert 或 Delete 语句,在不使用 DataSet 的情况下更改数据库中的数据。 虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。 对于 Update、Insert 和 Delete 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1 执行Select子句,数据库并无变化,自然返回-1。同样适合ODBC、OLE DB等数据源,因为都实现IDbCommand.ExecuteNonQuery方法。
小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2008-08-04 21:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册