SQL Server迁移数据库文件(ldf&mdf文件)到其他盘

SQL Server安装时,默认都安装在C盘,包括数据库文件的默认位置也是C盘,一般路径是C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

这就有2个问题:
1,随着时间的推移,数据库文件会增多增大,会逐渐占据C盘空间。不过现在的云服务器都能给系统盘C盘扩容,如果不是云服务器呢?扩容还是有很大的风险的。
2,如果系统盘C盘出问题怎么办?被格式化了,被病毒感染了怎么办?维护服务器,首要考虑就是系统被干了,但数据还健在。



阅读剩余部分

jQuery实现拖动,且拖动时不触发点击事件

jQuery实现拖动是网上抄的代码,但发现有一个JavaScript拖动时触发点击事件的BUG,让基友老嫖给修复了。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
        <style>
            #move{
                width: 200px;
                height: 200px;
                background-color: red;
                position: absolute;
                cursor: move;
            }
        </style>
    </head>
    <body>
        <div id="move">Hello World!</div>
    </body>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
        $('#move').on('mousedown', function(e) { //鼠标按下
            // 判断一下这个按下是点击还是拖动
            var isClick = true;

            $(document).on('mousemove', (e) => {//鼠标移动
                let left = e.clientX - $(this).width() / 2//计算元素left值
                let top = e.clientY - $(this).height() / 2//计算元素top值

                top = suan(top, 0, $(document).innerHeight() - $(this).height())//调用封装的方法
                left = suan(left, 0,$(document).innerWidth() - $(this).width())//调用封装的方法
                $(this).css({ //给盒子设置坐标
                    left,
                    top
                })
                //拖动后,把isClick设为false,后面就不会执行点击事件
                isClick = false;

                e.preventDefault();
            })
            $(document).on('mouseup', (e) => {//鼠标抬起
                //当isClick为true时,就执行点击事件
                if( isClick ){
                    msgboxurl()
                }
                $(document).off('mousemove mouseup')//移除鼠标移动、鼠标抬起事件
            })
        })
        function suan(o, min, max) { //重复封装
            o < min ? o = min : o > max ? o = max : ''//限制出界
            return o
        }
        function msgboxurl(){
            alert("点击效果");
        }
    </script>
</html>

C#版本、.NET版本、Visual Studio版本对应关系

网上找的,我综合了下,信息不是特别精准,做参考没问题的。

C#版本.NET版本Visual Studio版本发布日期特性
C# 1.0.NET Framework 1.0Visual Studio .NET 20022002-02-13委托、事件
C# 1.1.NET Framework 1.1Visual Studio .NET 20032003-04-24APM(异步编程模型)
C# 2.0.NET Framework 2.0Visual Studio 20052005-11-07泛型、匿名方法、迭代器、可空类型
C# 3.0.NET Framework 3.0Visual Studio 20082007-11-06隐式类型
.NET Framework 3.5 2007-11-19对象集合初始化、自动实现属性、匿名类型、扩展方法、查询表达式、Lambda表达式、 表达式树、分部类和方法、Linq
C# 4.0.NET Framework 4.0Visual Studio 20102010-04-12动态绑定、命名和可选参数、泛型的协变和逆变、互操作性
C# 5.0.NET Framework 4.5Visual Studio 2012/20132012-08-15异步和等待(async和await)、调用方信息(Caller Information)
C# 6.0.NET Framework 4.6Visual Studio 20152015-07-20C# 6 中的新增功能
.NET Core 1.0 2016-06-27
C# 7.0.NET Framework 4.6.2Visual Studio 20172016-08-02C# 7.0 中的新增功能
C# 7.1.NET Framework 4.7Visual Studio 2017 v15.32017-04-05
.NET Core 2.0 2016-08-14.NET Core 2.0 的新增功能
C# 7.2.NET Framework 4.7.1Visual Studio 2017 v15.52017-10-17
C# 7.3.NET Framework 4.7.2Visual Studio 2017 v15.72018-04-30
.NET Core 2.1 2018-05-30.NET Core 2.1 的新增功能
.NET Core 2.2 2018-12-04.NET Core 2.2 的新增功能
C# 8.0.NET Framework 4.8Visual Studio 2019 16.32019-04-18C# 8.0 中的新增功能
.NET Core 3.0 2019-09-23.NET Core 3.0 的新增功能
.NET Core 3.1 2019-12-03.NET Core 3.1 的新增功能

另外,.NET 5到目前为止,已经发布到第七个预览版了,.NET5的最新信息请参考:https://dotnet.microsoft.com/download/dotnet/5.0

VS2019 C#怎么查看类图

什么是类图?类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。通过查看一个项目的类图,可以看到该项目中类的继承关系图,以及类中的成员概括,便于从全局上看待类的关系。

查看方式很简单:打开VS2019,找到目标项目,点击右键 → 查看 → 查看类图,就能看到下面这种图:
a.png


阅读剩余部分

VS2019用代码片段提高编码效率

打开Visual Studio,新建一个C#类页面,输入关键字for,然后连续敲击两下Tab键,就会快速创建出for循环的语法结构体。作为编程新手,自从我发现这个方法后,就一发不可收拾。现在已经无法想象,手动去写for循环的低效率了。

除了连续敲击两下Tab键,这个方式外,还有一个快捷方式,就是用Ctrl+K,S给代码块加外侧代码。比如选择一个代码块,按Ctrl+K,敲完K后,仍然按住Ctrl不放,继续敲S,就会进入引用代码片段弹窗上,选择try代码片段,就可以快速地给选中的代码块加上外侧代码try catch,非常高效。

阅读剩余部分