目标:两周学习路线

目标:

两周内 ,掌握使用 C# 与 SQL Server 进行基本的数据交互操作(增删改查 CRUD、连接、参数、事务等),为后续 WinForm/Web API/EF 等进阶打基础。


📅 学习大纲(共两周)

🗓️ 第1周:SQL Server + ADO.NET 基础


Day 1-2:SQL Server 基础
  • 安装 SQL Server(推荐使用 SQL Server Express + SSMS)

  • 基本概念:

    • 数据库、表、列、行、主键、外键
    • 数据类型(int, varchar, datetime, bit等)
  • SQL 基本语法:

    • CREATE DATABASE, CREATE TABLE
    • INSERT, SELECT, UPDATE, DELETE
  • 练习:创建一个简单的数据库 BookStore,有表:

    复制代码
    sql
    
    
    复制编辑
    Books (BookId, Title, Author, Price, Stock)

Day 3-4:SQL 进阶语法
  • WHERE, ORDER BY, GROUP BY, LIKE, IN, BETWEEN
  • 多表连接:INNER JOIN, LEFT JOIN
  • 简单视图、存储过程、函数、触发器(以了解为主)
  • 索引、主键/外键约束
  • 练习题目:
    • 查找价格最高的图书
    • 统计每位作者的图书数量
    • 建立视图:Top10MostExpensiveBooks

Day 5-7:C# 基础 + ADO.NET 数据访问
  • 简介:C# 控制台项目结构(Program.cs)
  • 安装 SQL Server 驱动(System.Data.SqlClient
  • 基本使用流程:
    • SqlConnection, SqlCommand, SqlDataReader
  • 实现功能(控制台):
    • 查询图书信息并打印
    • 插入一本新书
    • 修改图书库存
    • 删除一本书
  • 重点理解:
    • 使用 using 管理连接
    • 参数化查询防止 SQL 注入

🗓️ 第2周:C# 数据交互 + 实战项目


Day 8-9:封装数据库操作类
  • 创建类库 DbHelper
    • ExecuteNonQuery(增删改)
    • ExecuteScalar(单值返回)
    • ExecuteReader(查询)
  • 学习使用配置文件读取连接字符串(app.config / settings.json

Day 10-11:实战小项目
  • 项目名称:图书管理控制台系统
  • 功能要求:
    • 查看所有图书列表
    • 添加图书
    • 修改图书价格
    • 删除图书
    • 搜索图书(模糊查询)
  • UI 形式:控制台菜单循环交互

Day 12:事务处理 + 错误处理
  • 使用事务:
    • SqlTransaction 示例(如批量插入图书)
  • 错误处理:
    • 使用 try-catch 捕获数据库错误
    • 日志输出建议(可选写入txt)

Day 13:知识回顾 + 测试
  • 让 TA 回答下面问题:
    • 什么是连接字符串?怎么写?
    • ADO.NET 执行查询的步骤?
    • 用代码演示一个添加数据的完整流程?
  • 手写一个增删改查 + 模糊搜索完整流程

Day 14:进阶方向规划

如果学得不错,建议开始进入以下方向:

  • 学 WinForm 或 ASP.NET Core Web API
  • 学 Entity Framework Core(ORM)
  • 学 LINQ 查询
  • 学前后端分离架构
相关推荐
落日漫游1 小时前
MySQL常用命令全攻略
数据库·sql·oracle
GHL2842710903 小时前
i++汇编学习
汇编·学习
A9better6 小时前
嵌入式开发学习日志31——stm32之外部中断与定时器中断的差别与选择
stm32·单片机·学习
zhangrelay6 小时前
ROS2学习研究版本推荐:Jazzy Jalisco(LTS长期支持版)AI版本251001
笔记·学习
xyx-3v7 小时前
已知三极管的类型(NPN/PNP)和基极引脚,如何区分集电极(c)和发射极(e)
单片机·嵌入式硬件·学习
大白的编程日记.8 小时前
【Linux学习笔记】线程概念和控制(二)
linux·笔记·学习
半夏知半秋8 小时前
skynet-socket.lua源码分析
服务器·开发语言·学习·架构·lua
低代码布道师8 小时前
学习低代码,需要什么基础?
学习·低代码
西猫雷婶9 小时前
random.shuffle()函数随机打乱数据
开发语言·pytorch·python·学习·算法·线性回归·numpy
随机惯性粒子群9 小时前
STM32控制开发学习笔记【基于STM32 HAL库】
笔记·stm32·嵌入式硬件·学习