当前位置:编程学习 > C#/ASP.NET >>

ASP.NET如何执行多条insert语句.

如题:我写了3条insert语句 最后一条生效了.应该是把前面2条都覆盖了.没用过.NET.请问该怎么写?
答案:可以合在一条字符串中,只是这样不标准扩展性不好,每条语句的结尾要记得加;号

例如 : insert into tablename(列1,列2)values(值1,值2);insert into tablename(列3,列4)values(值3,值4);insert into tablename(列5,列6)values(值5,值6);select * from tablename;可以一起执行。不过要记住所有的值中的单引号,双引号,斜杠等特殊符号。

用sql语句,或者是sql存储过程,如果要更好一些就用事务

create PROCEDURE [dbo].[InsertToolsTran](@TID  nvarchar(32),@tname nvarchar(32),@uid int,@ctgid nvarchar(3),@material nvarchar(10),@cornersAvailable int,
@life int,@shelf nvarchar(32),@deal int,@MAKERNo nvarchar(6),@MAKER nvarchar(64),@comment nvarchar(100),@MaxStk int,@OrderPoint int,@crtStk int,
@oldtid nvarchar(32),@YNCNo nvarchar(32),@regrinding bit,@state int,@taxedsprice money,@Rshelf nvarchar(32),@regfee money,@reglead int)
as begin
BEGIN TRANSACTION InsertToolsTran
    --插入 基础表
       INSERT INTO tools (TID,tname,[uid],ctgid,material,cornersAvailable,life,shelf,deal,MAKERNo,MAKER,comment,MaxStk,OrderPoint,crtStk,oldtid,
YNCNo,regrinding,state)
     VALUES (@TID,@tname,@uid,@ctgid,@material,@cornersAvailable,@life,@shelf,@deal,@MAKERNo,@MAKER,@comment,@MaxStk,@OrderPoint,
@crtStk,@oldtid,@YNCNo,@regrinding,@state)
    --插入 toolss 表
       INSERT INTO toolss (tid,sprice,taxedsprice)
     VALUES (@TID,@taxedsprice/(1+0.17),@taxedsprice)
    --插入toolr 表    
    INSERT INTO toolr (MAKERNO,tid,shelf,regfee,reglead)
     VALUES (@tid+'-R',@tid,@Rshelf,@regfee,@reglead)
        IF @@error <> 0  --发生错误
        BEGIN
            ROLLBACK TRANSACTION
            RETURN 0
        END
        ELSE
        BEGIN
            COMMIT TRANSACTION
            RETURN 1    --执行成功
        end
end

上一个:怎么才能学好C#&Asp.net
下一个:asp.net怎么显示查询后的内容

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,