c#中如何在循环中处理对SQLserver数据库的修改问题

c#中如何在循环中处理对SQLserver数据库的修改问题,第1张

如果是三层结构 需在BLL层中创建数字验证代码,然后调用代码如下:using System;

using SystemCollectionsGeneric;

using SystemText;

using SystemTextRegularExpressions;namespace HotelManagerBLL

{

public class RegularNumber

{

/// <summary>

/// 数字验证

/// </summary>

/// <param name="strNumber">被验证信息</param>

/// <returns></returns>

public bool IsWholeNumber(string strNumber)

{

Regex notWholePattern = new Regex(@"^[-]\d+[]\d$");

return notWholePatternIsMatch(strNumber, 0);

} }

}

i=1

do while i<305

xn=cstr(i)

for n=1 to 8-len(xn)

xn="0" & xn

next n

xn="yp" & xn

UPDATE ypzl SET 药名名称ID=' & xn & "' WHERE id < '304'

i=i+1

loop

sql server里有循环语句,在sqlserver 数据库中,while循环语句是最常用的语句之一,for指定次数用的很少。比如:

SQL循环语句

declare @i int

set @i=1

while @i<30

begin

insert into test (userid) values(@i)

set @i=@i+1

end

while 条件

begin

执行 *** 作

set @i=@i+1

end

WHILE

设置重复执行 SQL 语句或语句块的条件,只要指定的条件为真,就重复执行语句,可以使用 BREAK 和 CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。

语法

WHILE Boolean_expression

{ sql_statement | statement_block }

[ BREAK ]

{ sql_statement | statement_block }

[ CONTINUE ]

参数

Boolean_expression

返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。

{sql_statement | statement_block}

Transact-SQL 语句或用语句块定义的语句分组,若要定义语句块,请使用控制流关键字 BEGIN 和 END。

BREAK

不用循环,也不需要触发器。

T-SQL自己就可以搞定,这点比ORACLE的PL/SQL强大多了。

具体写法如下

update B set B字段1 = A字段1, B字段2 = A字段2 from A where aid = bid;

如果你非想写循环也可以,利用游标可以实现,不过需要2个游标

declare c_a cursor for select id from A;

declare @id int;

open c_a;

fetch next from c_a into @id;

while @@fetch_status=0

begin

declare c_b cursor for select id from B;

declare @id2 int;

open c_b;

fetch next from c-b into @id2;

while @@fetch_status=0

begin

if @id=@id2

begin

update b set 字段='具体值' where id=@id2;

end;

fetch next from c_b into @id2;

end;

close c_b;

deallocate c_b;

fetch next from c_a into @id;

end;

close c_a;

deallocate c_a;

String str2=""; 

for(int pno=0;pno<3;pno++){

if(pno==0){

str2="select  from (select rownum rowa,d from (select sswsms_id,sswphone_number from sms_send_wait ssw left join sms_send_receive ssr on ssrsms_id = sswsms_id  where not exists ( select ssrbphone_number  from sms_send_receive_blacklist ssrb where ssrbphone_number=sswphone_number) and sswsend_wait_time between sysdate-1 and sysdate+1) d where rownum<=pno2) where rowa>(pno-1)2" 

}else{

 str2=str2+" union "+ "select  from (select rownum rowa,d from (select sswsms_id,sswphone_number from sms_send_wait ssw left join sms_send_receive ssr on ssrsms_id = sswsms_id  where not exists ( select ssrbphone_number  from sms_send_receive_blacklist ssrb where ssrbphone_number=sswphone_number) and sswsend_wait_time between sysdate-1 and sysdate+1) d where rownum<=pno2) where rowa>(pno-1)2" 

}

}

pstmt = connprepareStatement(str2);

ResultSet rs = pstmtexecuteQuery();

//  你要是想把sql语句拼起来,一次性执行了,就用上面的方法,要是不想或不会拼,可以把pstmt = connprepareStatement(str2);

ResultSet rs = pstmtexecuteQuery();

写到for循环里面,每循环一次执行一次,都可以的!

以上就是关于c#中如何在循环中处理对SQLserver数据库的修改问题全部的内容,包括:c#中如何在循环中处理对SQLserver数据库的修改问题、vb sql批量修改语句、在sql server中循环语句 for要怎么使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10130747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存