用VS 2017和C#连接SQL Server数据库

本文作者作为大三软件工程学生,记录了VS连接数据库的方法。包括创建数据库文件、添加表格、创建连接的步骤,还介绍了附加外部数据库的方法,如确认版本、设置权限等,最后说明操作后可自动附加数据库并检查连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        很惭愧,身为大三的软件工程学生我居然连数据库的连接都记不清楚……还是老老实实的开个记录吧。

材料

  • Microsoft Visual Studio 2017
  • 一个ASP .NET Web窗体网站项目
  • Microsoft SQL Server 2017(这个不知道有没有影响,因为全程没用到,但之前有用它连接上过数据库)

步骤

1、创建数据库文件
  • 右键点击App_Data文件夹,在“添加”中选择“添加新项添加新项
  • 在弹出的窗口中找到“SQL Server数据库”并点击,在下方输入数据库的名字添加数据库
2、添加表格
  • 如此,我们就得到了一个新的空数据库。在App_Data文件夹下找到它,随后右键单击,点击“打开”,我们可以在右侧的服务器资源管理器看见它
    打开资源管理器
    在这里插入图片描述
  • 在资源管理器中右键点击“”,选择“添加新表”,经过一段时间的加载后,VS的主视图上将会出现SQL Server的设计视图主视图
  • 接下来要做的事情和在SSMS里是一样的,为你的表格添加字段并设置其数据类型,如果你想修改表格的名字,你可以在下方的Design窗口里直接修改CREATE TABLE [dbo].[Table],将Table改成你想要的表名称,随后点击左上角的“更新(U)在这里插入图片描述
  • 之后系统会弹出一个名为“预览数据库更新”的窗口,点击“更新数据库”即可。至此,一张表就创建好了,在开始下一步之前,请右击服务器资源管理器中你刚创建的表格,选择“显示表数据”,在弹出的界面中为你的表先添加一些样本数据。
3、创建到数据库的连接
  • 数据添加好,我们可以开始建立到数据库的连接了。首先在服务器资源管理器中右键单击你的数据库,选择“属性选择数据库属性
  • 在属性列表中,我们可以在连接这一项中找到连接字符串,复制其中的内容,它就是我们创建连接时要用的URL查找连接字符串
  • 之后要做的事情就和日常一样了,利用SqlConnection和SqlCommand等微软提供的数据库连接类打开连接并执行sql语句,下面是我写的demo中的一部分:
    /// <summary>
    ///     添加一个新的卡车信息到数据库中
    /// </summary>
    /// <param name="truck">待添加的卡车信息</param>
    /// <returns></returns>
    public static bool AddNewVehicle(Truck truck)
    {
        // VehicleDAO.ConnStr是我在另一个类中定义的字符常量,里面保存着我们刚复制的连接字符串
        // 可以根据实际情况将其换成其他的字符串
        using (SqlConnection Conn = new SqlConnection(VehicleDAO.ConnStr))
        {
            try
            {
                Conn.Open();
                SqlCommand Comm = new SqlCommand();
                Comm.Connection = Conn;
                string sql = "INSERT INTO Vehicle VALUES(@License, @Type, @Length, @Weight, @Load, @UsedYear, @Mileage);";
                Comm.CommandText = sql;
                Comm.Parameters.AddWithValue("@License", truck.License);
                Comm.Parameters.AddWithValue("@Type", truck.Type);
                Comm.Parameters.AddWithValue("@Length", truck.Length);
                Comm.Parameters.AddWithValue("@Weight", truck.Weight);
                Comm.Parameters.AddWithValue("@Load", truck.Load);
                Comm.Parameters.AddWithValue("@UsedYear", truck.UsedYear);
                Comm.Parameters.AddWithValue("@Mileage", truck.Mileage);
                Comm.ExecuteNonQuery();
                return true;
            }
            catch (SqlException e)
            {
                Console.WriteLine("添加功能出现问题,请及时维护");/*/
                Console.WriteLine(e.Message);// */
                return false;
            }
        }

    }

        我原本习惯性的想像用Java那样先写个DAO类再写个Server类再写个的Page来调用Server里的方法,结果没想到巨硬全部都帮我弄好了,连关闭的部分都用using给我省掉了,真是轻松。完成后执行成功的结果如下图:
                                                添加成功

关于附加数据库

        有时候我们会希望使用SSMS中已经创建好的数据库,在这里我再补充关于如何导入外部数据库的方法。

1、首先我们要先确认数据库的版本,高版本数据库不被支持使用

        巨硬神奇的自己不兼容自己的毛病在这里发挥的淋漓尽致,版本号高于2015的全部连接失败。我曾希望通过修改兼容性来解决它,遗憾的是VS还是会说你版本号过高。所以这里唯一的处理方式就是创建低版本号的数据库文件。

  • 创建低版本数据库方法如下(附加数据库失败,操作系统错误 5:"5(拒绝访问。)"的解决办法):右键单击数据库 -> 选择“任务” -> 选择“生成脚本”,在“设置脚本编写选项”的高级中找到“服务器版脚本”这一选项,选择低版本的数据库。之后一路点击确定和完成,数据库脚本就自动生成好了。之后打开低版本数据库,执行该脚本即可。
    生成脚本
2、设置数据库及其日志文件权限

        在拥有一个符合要求的数据库后,我们还需要修改数据库文件(.mdf)及其日志文件(.ldf)的权限。右键单击mdf文件 -> 选择“属性” -> 选择“安全”选项卡 -> 选择“高级”,你会看到这个画面:
        安全权限
        在这里,如果你发现主体那一栏没有“Authenticated Users”,你就点击添加,点击上方的“选择主体”,把Authenticated Users复制进去后确定,选择“完全控制”,之后点击确定,保存我们刚才做的修改。
        完全控制
        如果你已经有了“Authenticated Users”但是它没有“完全控制”这一权限,那这是因为它创建时继承了父类文件的权限。点击下方的“禁用继承”,选择第一项,之后按上面的操作修改权限即可。

3、创建连接

        在完全获取权限后,我们就可以创建数据库与项目的连接了。【建议连接之前先将数据库移动到App_Data这个文件夹下】右键单击“App_Data”文件夹 -> 选择“添加” -> 选择“现有项”,找到你的数据库文件双击(此处不用点击日志文件,导入数据库后它会自动附加进来),你的数据库就会自动附加进来了。这样操作有个好处,VS会自动创建到该数据库的连接,如果你想检查该连接是否成功,右键单击数据库后点击“刷新”即可。
附加成功
        以上为VS连接数据库的两个方法,欢迎各位在评论中提问,我将随时补充新内容。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值