本文介绍了通过C#中的代码创建storeprocedure的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! create 此storeprocedure 在 microsoft sql 数据库 来自 C#,我不想 使用 sql managment studio CREATE PROCEDURE [dbo]。[SP] @ PreCode varchar ( 2 ), @ InvNo int OUTPUT AS 声明 @ Count int BEGIN set @ Count =( select count(InvNo1) from tblInvoiceNo) IF @ Count = 0 BEGIN insert into tblInvoiceNo(InvNo1,InvNo2)值( 0 , 0 ) END SET TRANSACTION ISOLATION LEVEL SERIALIZABLE BEGIN TRANSACTION - WAITFOR DELAY'000:00:30' IF @ P重新编码<> 99 BEGIN 设置 @ InvNo =(选择 InvNo1 来自 tblInvoiceNo 其中 InvNo1 喜欢 ' ' + @ PreCode + ' %') IF @InnNo IS NULL BEGIN 更新 tblInvoiceNo 设置 InvNo1 = @ PreCode + ' 000001' set @ InvNo = @ PreCode + ' 000001' END ELSE BEGIN 设置 @ InvNo =(选择 InvNo1 来自 tblInvoiceNo 其中 InvNo1 喜欢 ' ' + @ PreCode + ' %')+ 1 更新 tblInvoiceNo set InvNo1 = @ InvNo END END ELSE BEGIN set @ InvNo =(选择 InvNo2 来自 tblInvoiceNo 其中 InvNo2 喜欢 ' ' + @ PreCode + ' %') IF @ InvNo IS NULL BEGIN 更新 tblInvoiceNo set InvNo2 = @ PreCode + ' 000001' set @ InvNo = @ PreCode + ' 000001' 结束 ELSE BEGIN set @ InvNo =(选择 InvNo2 来自 tblInvoiceNo 其中 InvNo2 喜欢 ' ' + @ PreCode + ' %')+ 1 更新 tblInvoiceNo set InvNo2 = @ InvNo END END COMMIT TRANSACTION END 解决方案 正确标记问题时,请使用ADO.NET。 :-) 这是关键: mySqlCommand.CommandType = CommandType.StoredProcedure; 参见:第07课 [ ^ ]。 -SA how to create this storeprocedure in microsoft sql database from C# , i dont want to use sql managment studioCREATE PROCEDURE [dbo].[SP]@PreCode varchar(2),@InvNo int OUTPUTASdeclare @Count intBEGINset @Count= (select count(InvNo1) from tblInvoiceNo )IF @Count = 0BEGINinsert into tblInvoiceNo (InvNo1,InvNo2) values (0,0)ENDSET TRANSACTION ISOLATION LEVEL SERIALIZABLEBEGIN TRANSACTION--WAITFOR DELAY '000:00:30'IF @PreCode <> 99BEGINset @InvNo= (select InvNo1 from tblInvoiceNo where InvNo1 like ''+@PreCode+'%')IF @InvNo IS NULLBEGINUpdate tblInvoiceNo set InvNo1 = @PreCode+'000001'set @InvNo = @PreCode+'000001'ENDELSEBEGINset @InvNo= (select InvNo1 from tblInvoiceNo where InvNo1 like ''+@PreCode+'%')+1Update tblInvoiceNo set InvNo1 = @InvNoENDENDELSEBEGIN set @InvNo= (select InvNo2 from tblInvoiceNo where InvNo2 like ''+@PreCode+'%')IF @InvNo IS NULLBEGINUpdate tblInvoiceNo set InvNo2 = @PreCode+'000001'set @InvNo = @PreCode+'000001'ENDELSEBEGINset @InvNo= (select InvNo2 from tblInvoiceNo where InvNo2 like ''+@PreCode+'%')+1Update tblInvoiceNo set InvNo2 = @InvNoEND ENDCOMMIT TRANSACTIONEND 解决方案 As you correctly tagged your question, use ADO.NET. :-)This is the key:mySqlCommand.CommandType = CommandType.StoredProcedure;See also: Lesson 07[^].—SA 这篇关于通过C#中的代码创建storeprocedure的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-23 23:03