SQL語句使用總結(二)

來源:互聯網
上載者:User

 

一、C#組合查詢的便捷方法。

object objImportDateFrom = DBNull.Value;

 if (importDateFrom != "")

  {

     objImportDateFrom = importDateFrom;

  }

   new SqlParameter("@ProductSaleTimeFrom",ObjproductSaleTimeFrom),

  new SqlParameter("@ProductSaleTimeTo",productSaleTimeTo),

...................................

//sql預存程序

CREATE PROCEDURE [dbo].[UP_ProductFocus_SalesStatistics]  

    @Code nvarchar(10)='',  

   @ProductCreateTimeFrom DATETIME=null,--匯入系統時間    

   @ProductCreateTimeTo DateTime=null

as  

begin  

AND (@SearchCodeList='' OR cn.Code  IN (Select * From dbo.fun_split(@SearchCodeList,',')))  

AND (@ProductCreateTimeFrom is null OR cn.CreateTime between @ProductCreateTimeFrom and @ProductCreateTimeTo) 

end

(2)、時間範圍的處理方法,這樣可以防止不同電腦上的時間設定格式的不同。

productSaleTimeFrom = this.dtpStartSellDateFrom.Value.Date.ToString("yyyy-MM-dd") + " 0:00:00";//2012-09-14 0:00:00

productSaleTimeTo = this.dtpStartSellDateTo.Value.Date.AddDays(1).AddMilliseconds(-100).ToString("yyyy-MM-dd") + " 23:59:59";//2012-09-14 23:59:59

(3)、sql中的事務寫法

1、方法一

begin tran(開啟事務)

begin try

//語句塊

//……….

//……….

//……….

   commit tran(提交事務)

--return 1

end try

begin catch

   rollback tran(復原事務)

--return 0

end catch

2、寫法二

begin transaction

declare @error int

set @error = 0

insert into borrows(rid,bid,borrowdate) values

(5,10,2008-6-11)

set @error = @error + @@error

update books set bstate=1

where bid=10

set @error = @error + @@error

if @error <> 0

  rollback transaction

else

  commit transaction

來源文件 <http://blog.sina.com.cn/s/blog_75a83e8b0100u7nx.html>

CREATE PROCEDURE UP_EbestPostOrderHeader_UpdateExportConfim
@EbestPostOrderHeaderId INT,
@User NVARCHAR(50)
AS

BEGIN
Begin try

Begin Tran

    UPDATE dbo.EbestPostOrderHeader SET IsExport = 1, ExportDate = GETDATE(), LastUpdTime= GETDATE(),LastUpdUser = @User

     WHERE EbestPostOrderHeaderId = @EbestPostOrderHeaderId

     UPDATE dbo.PromotionOrderHeader SET IsExport = 1, ExportTime = GETDATE(), LastUpdTime= GETDATE(),LastUpdUser = @User

     WHERE EbestPostOrderHeaderId = @EbestPostOrderHeaderId

     COMMIT TRAN

END TRY

BEGIN CATCH

   ROLLBACK TRAN

END CATCH

END 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.