• SQL语句使用总结(二)


    一、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 
  • 相关阅读:
    设计模式的C语言应用-外观模式-第八章
    00071_基本类型包装类
    win7不能在同一窗口打开文件夹,解决办法
    浏览器主页被搜狗劫持的解决办法,慎用宁美国度的安装软件,慎用不正规来源的软件
    使用inotify-tools与rsync构建实时备份系统
    浅淡 RxJS WebSocket
    SpringMVC大文件(百M以上)的上传下载实现技术
    C#.NET大文件(百M以上)的上传下载实现技术
    JSP大文件(10G以上)的上传下载实现技术
    JAVA大文件(10G以上)的上传下载实现技术
  • 原文地址:https://www.cnblogs.com/51net/p/2689982.html
Copyright © 2020-2023  润新知