当前位置: 首页 > news >正文

百度快照 网站描述 更新大余县网站

百度快照 网站描述 更新,大余县网站,东莞公司建网站模板,手机分销网站目录 一.安装SQLServer 二.在SQLServer中创建一个数据库 1.打开SQL Server Manager Studio(SSMS)连接服务器 2.创建新的数据库 3.创建表 三.Visual Studio 配置 1.创建一个简单的VS项目(本文创建为一个简单的控制台项目) 2.添加数据库连接 四.简单连通代码示例 简单连…

目录

一.安装SQLServer

二.在SQLServer中创建一个数据库

1.打开SQL Server  Manager Studio(SSMS)连接服务器

2.创建新的数据库

3.创建表

三.Visual Studio 配置

1.创建一个简单的VS项目(本文创建为一个简单的控制台项目)

2.添加数据库连接

 四.简单连通代码示例

简单连通代码示例:

五.在VS中对SQLServer中的Students表进行简单的增删改查


 

引言:

SQL Server是微软开发的关系数据库管理系统,与市面上其他数据库系统相比

SQL Server在企业级功能,性能优化,安全性和集成性方面表现优异,适合大中型企业应用

SQLServer的主要功能:

  1. 数据存储和管理:支持各种数据类型,包括结构化数据,非结构化数据和半结构化数据
  2. 安全性:提供了多层次的安全机制,如数据库加密,用户权限管理和审计功能
  3. 高可用性和灾难恢复:支持数据库镜像,日志传送,故障转移群集和Always On可用性组
  4. 性能优化:内置性能监控和优化工具,如索引调优,查询优化器和数据库引擎自动调优
  5. 集成服务:包括SQL Server Integration Services (SSIS),SQL Server Reporting Services (SSRS) 和SQL Server Analysis Services (SSAS),用于数据集成,报表生成和数据分析

一.安装SQLServer

当我们需要在Visual Studio中连接一个SQLServer数据库或者其他数据库时,我们需要先去其官网下载对应的数据库

Visual Studio(VS)是一个集成开发环境(IDE),支持多种编程语言和开发工具

借助Visual Studio,开发者可以方便的管理和操作SQLServer数据库

二.在SQLServer中创建一个数据库

1.打开SQL Server  Manager Studio(SSMS)连接服务器

可以将服务器名称替换为.(代表本机)

使用Windows身份验证

然后点击连接

2.创建新的数据库

在左侧对象资源管理器中右击"数据库"

选择"新建数据库"

输入数据库名称,点击确定

这里使用StudentDB作为数据库库名

3.创建表

展开数据库

选中当前数据库

选择"新建查询"(快捷键Ctrl+N)

添加以下列:

CREATE TABLE Students
(Id INT IDENTITY(1,1) PRIMARY KEY,Name NVARCHAR(50),Age INT,Grade NVARCHAR(10)
)

执行SQL语句

然后右键"表",单击刷新,即可在"表"文件夹下找到新建表Students

右键Students表,单击设计,即可查看当前创建的表结构

三.Visual Studio 配置

1.创建一个简单的VS项目(本文创建为一个简单的控制台项目)

2.添加数据库连接

在"服务器资源管理器"中(视图->服务器资源管理器),快捷键Ctrl+Alt+S

右键"数据连接",点击添加连接

数据源选择SQLServer

服务器名自动检索

勾选"信任服务器证书"

数据库名选择新建的StudentDB

单击左下角"测试连接"

最后点击"确定"

打开解决方案资源管理器(快捷键为Ctrl+Alt+L)

右键"依赖项"

打开"管理NuGet程序包"

在"浏览"块 搜索SqlClient

单击Microsoft.Data.SqlClient 进行NuGet包的安装

安装时跳出接受许可证界面选择"我接受"

 四.简单连通代码示例

在上面的配置完成之后就可以在VS中使用SQLServer了

简单连通代码示例:

// 1. 连接字符串
string connectionString = "Server=.;Database=StudentDB;Trusted_Connection=True;TrustServerCertificate=True;";try
{// 2. 创建连接对象using (SqlConnection connection = new SqlConnection(connectionString)){// 3. 打开连接,在using语句块中会自动关闭连接connection.Open();// 4. 创建命令对象string sql = "SELECT * FROM Students";SqlCommand cmd = new SqlCommand(sql, connection);// 5. 执行查询并读取数据using (SqlDataReader reader = cmd.ExecuteReader()){while (reader.Read()){// 假设Students表有id、name和age字段Console.WriteLine($"ID: {reader["id"]}, 姓名: {reader["name"]}, 年龄: {reader["age"]},年级: {reader["grade"]}" );}}}
}
catch (Exception ex)
{Console.WriteLine($"发生错误: {ex.Message}");
}
Console.WriteLine("按任意键退出...");
Console.ReadKey();

代码解释:

string connectionString = "Server=.;Database=StudentDB;Trusted_Connection=True;TrustServerCertificate=True;";
  • 作用:定义用于连接数据库的连接字符串
  • 参数说明
    • Server=.:指定数据库服务器为本地服务器(.表示本地)
    • Database=StudentDB:指定要连接的数据库名称为StudentDB
    • Trusted_Connection=True:使用Windows身份验证方式连接数据库,而不是使用SQL Server身份验证
    • TrustServerCertificate=True:允许信任服务器证书,适用于使用自签名证书的情况,避免SSL证书错误
try   
{// 数据库操作代码   
}   
catch (Exception ex)   
{Console.WriteLine($"发生错误: {ex.Message}");
}
  • 作用:创建一个SqlConnection对象,用于与数据库建立连接
  • using语句:确保在using块结束时自动调用connection.Dispose()方法释放数据库连接资源,即自动关闭连接
  • 参数:传入之前定义的connectionString
connection.Open();
  • 作用:使用Open()方法与数据库建立实际的连接.此时,程序可以与数据库进行通信
string sql = "SELECT * FROM Students";   
SqlCommand cmd = new SqlCommand(sql, connection);
  • 作用
    • 定义要执行的SQL查询语句,这里是选择Students表中的所有记录
    • 创建一个SqlCommand对象,表示要对数据库执行的命令
  • 参数
    • sql:SQL查询字符串。
    • connection:之前创建并打开的数据库连接对象
using (SqlDataReader reader = cmd.ExecuteReader())   
{while (reader.Read()){// 读取数据并处理}
}
  • 作用
    • 调用ExecuteReader()方法执行SQL查询,返回一个SqlDataReader对象,用于读取查询结果
    • 使用 while (reader.Read())循环遍历结果集的每一行数据
  • using语句:确保reader对象在使用完毕后自动关闭并释放资源
Console.WriteLine($"ID: {reader["id"]}, 姓名: {reader["name"]}, 年龄: {reader["age"]},年级: {reader["grade"]}" );
  • 作用:如果在try块中的任何位置发生异常,程序会捕获该异常
  • 处理方式:输出错误信息ex.Message,以便了解错误的原因

五.在VS中对SQLServer中的Students表进行简单的增删改查

using Microsoft.Data.SqlClient;namespace StudentDemo
{internal class Program{static string connectionString = "Server=.;Database=StudentDB;Trusted_Connection=True;TrustServerCertificate=True;";static void Main(string[] args){while (true){Console.WriteLine("\n请选择操作:");Console.WriteLine("1. 查看所有学生");Console.WriteLine("2. 添加学生");Console.WriteLine("3. 修改学生");Console.WriteLine("4. 删除学生");Console.WriteLine("5. 退出");string choice = Console.ReadLine();switch (choice){case "1":QueryAllStudents();break;case "2":AddStudent();break;case "3":UpdateStudent();break;case "4":DeleteStudent();break;case "5":return;default:Console.WriteLine("无效的选择!");break;}}}static void QueryAllStudents(){try{using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();string sql = "SELECT * FROM Students";using (SqlCommand cmd = new SqlCommand(sql, connection))using (SqlDataReader reader = cmd.ExecuteReader()){while (reader.Read()){Console.WriteLine($"ID: {reader["Id"]}, 姓名: {reader["Name"]}, 年龄: {reader["Age"]}, 年级: {reader["Grade"]}");}}}}catch (Exception ex){Console.WriteLine($"查询出错: {ex.Message}");}}static void AddStudent(){try{Console.Write("请输入姓名:");string name = Console.ReadLine();Console.Write("请输入年龄:");int age = int.Parse(Console.ReadLine());Console.Write("请输入年级:");string grade = Console.ReadLine();using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();string sql = "INSERT INTO Students (Name, Age, Grade) VALUES (@Name, @Age, @Grade)";using (SqlCommand cmd = new SqlCommand(sql, connection)){cmd.Parameters.AddWithValue("@Name", name);cmd.Parameters.AddWithValue("@Age", age);cmd.Parameters.AddWithValue("@Grade", grade);int result = cmd.ExecuteNonQuery();Console.WriteLine($"成功添加 {result} 条记录");}}}catch (Exception ex){Console.WriteLine($"添加出错: {ex.Message}");}}static void UpdateStudent(){try{Console.Write("请输入要修改的学生ID:");int id = int.Parse(Console.ReadLine());Console.Write("请输入新的姓名(直接回车表示不修改):");string name = Console.ReadLine();Console.Write("请输入新的年龄(直接回车表示不修改):");string ageInput = Console.ReadLine();Console.Write("请输入新的年级(直接回车表示不修改):");string grade = Console.ReadLine();using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();string sql = "UPDATE Students SET ";List<string> updates = new List<string>();SqlCommand cmd = new SqlCommand();cmd.Connection = connection;if (!string.IsNullOrWhiteSpace(name)){updates.Add("Name = @Name");cmd.Parameters.AddWithValue("@Name", name);}if (!string.IsNullOrWhiteSpace(ageInput)){updates.Add("Age = @Age");cmd.Parameters.AddWithValue("@Age", int.Parse(ageInput));}if (!string.IsNullOrWhiteSpace(grade)){updates.Add("Grade = @Grade");cmd.Parameters.AddWithValue("@Grade", grade);}if (updates.Count > 0){sql += string.Join(", ", updates);sql += " WHERE Id = @Id";cmd.Parameters.AddWithValue("@Id", id);cmd.CommandText = sql;int result = cmd.ExecuteNonQuery();Console.WriteLine($"成功更新 {result} 条记录");}}}catch (Exception ex){Console.WriteLine($"修改出错: {ex.Message}");}}static void DeleteStudent(){try{Console.Write("请输入要删除的学生ID:");int id = int.Parse(Console.ReadLine());using (SqlConnection connection = new SqlConnection(connectionString)){connection.Open();string sql = "DELETE FROM Students WHERE Id = @Id";using (SqlCommand cmd = new SqlCommand(sql, connection)){cmd.Parameters.AddWithValue("@Id", id);int result = cmd.ExecuteNonQuery();Console.WriteLine($"成功删除 {result} 条记录");}}}catch (Exception ex){Console.WriteLine($"删除出错: {ex.Message}");}}}
}

以上代码实现了四个主要功能:

  • QueryAllStudents(): 查询并显示所有学生信息
  • AddStudent(): 添加新学生
  • UpdateStudent(): 根据ID更新学生信息
  • DeleteStudent(): 根据ID删除学生

每个方法都包含了错误处理

  • 使用参数化查询来防止SQL注入
  • 在更新操作中,支持只更新用户输入的字段

运行程序后,会显示一个菜单

  • 输入对应的数字(1-5)来执行相应的操作
  • 根据提示输入相应的信息
  • 程序会显示操作结果
  • 输入5可以退出程序

 

http://www.yayakq.cn/news/256890/

相关文章:

  • 做网站学什么代码建网站无锡
  • 企业网站制作设计公司网站建设找谁做
  • 自动化设备东莞网站建设专业做标书
  • 做公司网站哪家好 上海江苏新宁建设集团网站
  • 心理咨询类微网站怎么做车公庙网站建设
  • 新网站多久被百度收录动态ip可以做网站
  • wordpress小程序源码广西关键词优化公司
  • 制作酒店网站站酷网站源码
  • 怎样将建设银行网站加入可信站阿里巴巴可以做网站吗
  • 东营网站建设规划书google搜索中文入口
  • 微信网页登录seo网课培训
  • 廊坊怎么做网站江苏省泰州市建设局官方网站
  • 找工作在什么网站找比较好外贸网站怎么做会吸引眼球
  • 仿站工具箱wordpress 首页折叠
  • 广州网站开发 商城开发网站建设三剑客
  • 营销型网站建设题库上海app开发技术公司
  • 我的世界做皮肤网站网页生成app怎么用
  • 80s网站建设工作室浙江建设信息港网站查询
  • 好用的做图网站有哪些国外网站建立
  • 保定网站建设找谁微信官方网站 - 百度-百度
  • 网站模板制作步骤河南艾特软件 网站建设
  • 建材做哪些网站济南网站建设鲁icp备
  • 中小企业网站建设框架毕业设计网页设计论文
  • 做网站是什么时候分页荆轲网络做网站
  • 行业资讯网站源码西安建网站
  • 推荐网站建设北京做网站一般多少钱
  • 厦门市app开发网站建设公司盘锦网站设计
  • 百度优化关键词seo职业培训学校
  • 电商网站 app免费做ppt的软件
  • 涟水建设局网站怎么做网站的301