tong275056839 2016-02-16 05:50 采纳率: 0%
浏览 1603
已结题

VS2010 C# 调用存储过程

C#具体代码调用以下存储过程

USE [HWATT]
GO
/****** Object: StoredProcedure [dbo].[PRO_ADDCARD] Script Date: 02/16/2016 13:38:31 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[PRO_ADDCARD]
@iismanual smallint,
@ircdtime datetime,
@idevid bigint,
@iemployeecode varchar(16),
@iemployeename varchar(250),
@iimagedata image,
@ircdtype smallint,
@ifrom_check smallint,
@ifaceidno varchar(5),
@iadminid bigint,
@iimagestatus smallint,
@isnewrcd bigint output
AS
begin
/* Procedure Text */
declare @iemployeeid bigint
declare @iimgid bigint
declare @icount bigint
declare @idevclass smallint
declare @istrcardid varchar(50)
declare @isqltext varchar(5000)
declare @iopid bigint
set @idevclass = 0
set @isnewrcd = 0
set @ircdtype = 0

    set @iemployeeid = (SELECT MAX(EMPLOYEEID) FROM KQZ_EMPLOYEE where employeecode = @iemployeecode and brchid = (select max(brchid) from kqz_employee where employeecode = @iemployeecode AND BRCHID != -3))

    IF(@iemployeeid is null)
    BEGIN
       INSERT INTO kqz_employee(BrchID,BrchName,EmployeeCode,EmployeeName,gender,ModelNum,Privilege,DevTypeSTR,IsCheck,OnRule,OffRule,CanOvertime,HaveFesta,HavePwd) VALUES
          (1,'1',@iemployeecode,@iemployeename,2,0,0,'',1,0,0,1,1,0)
       set @iemployeeid = (select @@identity)
    END

    set @icount = (SELECT count(*) FROM KQZ_CARD T1 INNER JOIN KQZ_EMPLOYEE T2 ON T1.EMPLOYEEID = T2.EMPLOYEEID AND T2.EMPLOYEEID = @iemployeeid AND T2.EMPLOYEECODE = @iemployeecode AND CARDTIME = @ircdtime)
    if(@icount > 0)
    begin
      set @isnewrcd = -1
      return @isnewrcd
    end

    if (@iimagedata IS NOT NULL)
    BEGIN
      insert into kqz_Img (ImgPhoto) values (@iimagedata) 
      set @iimgid = (select @@identity)
    END
    ELSE
    BEGIN
        set @iimgid = 0
    END

    INSERT INTO kqz_Card(EmployeeID,CardTime,CardTypeID,DevID,DevClass,ImgID,ImgStatus,IsValidate,ModifyUser,ModifyType,FaceIDNo) values
      (@iemployeeid,@ircdtime,@ircdtype,@idevid,@ifrom_check,@iimgid,@iimagestatus,0,0,0,@ifaceidno)
    set @isnewrcd = (select @@identity)
    IF(@iismanual = 1)
    BEGIN
        set @istrcardid = cast(@isnewrcd as varchar(30))

        INSERT INTO KQZ_CARD_OP(OPTYPE,INSERTCONDITION,OPEMPLOYEE) VALUES(1,@istrcardid,@iadminid)
        set @iopid = (select @@identity)

        set @ISQLTEXT = N'
          INSERT INTO KQZ_CARD_OP_DETAILS(OPID,CARDID,EMPLOYEEID,CARDTIME,CARDTYPEID,DEVID,DEVCLASS,CVERIFY,IMGID,IMGSTATUS,ISVALIDATE,
                                      FACEIDNO,MODIFYUSER,MODIFYTYPE,MODIFYTIME)
          SELECT ' + cast(@iopid as varchar(30)) +',CARDID,EMPLOYEEID,CARDTIME,CARDTYPEID,DEVID,DEVCLASS,CVERIFY,IMGID,IMGSTATUS,ISVALIDATE,
                 FACEIDNO,MODIFYUSER,MODIFYTYPE,MODIFYTIME
          FROM  KQZ_CARD
          WHERE cardid = ' + cast(@istrcardid as varchar(30))
        exec (@ISQLTEXT)
    end

return @isnewrcd
end

  • 写回答

5条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2016-02-16 05:57
    关注

    把你的存储过程写到数据库中,然后参考下面的方法调用
    http://blog.sina.com.cn/s/blog_4c79302301000ac0.html

    评论

报告相同问题?

悬赏问题

  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形