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

C#操作SqlServer数据库语句

 操作数据库语句

操作数据库语句需要搭配数据库的连接Connection类 和下达SQL命令Command类

1. ExecuteNonQuery

ExecuteNonQuery 方法主要用来更新数据。通常使用它来执行Update、Insert和Delete语句,最后执行sql语句的时候可以用一个整形变量来接收,返回值是执行的行数 例如: int num = cmd.ExecuteNonQuery();

操作ExecuteNonQuery
第一步: 连接数据库
public string connString = @"Server=192.168.113.65,51187\SQLEXPRESS;DataBase=StudentManageDB;Uid=sa;Pwd=123456";public SqlConnection conn = new SqlConnection(connString);
conn.Open();第二步(创建SQL语句) :
string sql = "delete from Students where ClassId=99";第三步(创建一个sql命令 Command) :
// 参数1: sql语句  参数2: 连接数据库对象
SqlCommand cmd = new SqlCommand(sql, conn);第四步(执行sql语句)
cmd.ExecuteNonQuery();

2. ExecuteScalar

在C#中,ExecuteScalar方法用于执行查询并返回查询结果的第一行第一列的值。它通常用于执行返回单个值的SQL查询,例如COUNT、SUM等聚合函数的查询。 ExecuteScalar方法返回一个object类型的结果,因此在使用之前需要进行类型转换。

操作ExecuteScalar
// 1 创建数据库链接
SqlConnection conn = new SqlConnection(connstring);// 2 创建sql命令
SqlCommand cmd = new SqlCommand(sql, conn);// 3打开链接执行命令
conn.Open();
int a = Convert.ToInt32(cmd.ExecuteScalar());

3. ExecuteReader

C#中的ExecuteReader方法用于执行SQL查询,并返回查询结果的数据读取器。

它通常用于从数据库中检索数据。 ExecuteReader方法返回一个SqlDataReader对象,该对象可以用于逐行读取查询结果。可以使用DataReader的方法来获取每行的列值,并进一步处理它们。

ExecuteReader方法常用于执行SELECT语句,以便从数据库中读取数据。它还可以与参数化查询一起使用,以允许动态输入查询条件。

操作ExecuteReader
    private void button4_Click(object sender, EventArgs e){连接数据库public string connString = @"Server=192.168.113.65,51187\SQLEXPRESS;DataBase=StudentManageDB;Uid=sa;Pwd=123456";public SqlConnection conn = new SqlConnection(connString);conn.Open();List<Student> list = new List<Student>() ; // 创建列表存储类string sql = "select * from Students";  // sql语句SqlCommand cmd = new SqlCommand(sql,conn) ; // sql命令// 读取// System.Data.CommandBehavior.CloseConnection 数据读取完之后关闭链接SqlDataReader r = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); // 由于ExecuteReader方法一次只能读取一行,所以在此处使用for循环直到读取完停止while (r.Read()){list.Add(new Student(){StudentId = Convert.ToInt32(r["StudentId"]),StudentName = r["StudentName"].ToString(),BirthDay = r["BirthDay"].ToString(),Age = Convert.ToInt32(r["Age"]),});}dataGridView1.DataSource = list; // 将读取出来的内容显示在表格}
// 创建数据类接收读取出来的内容public class Student
{public int StudentId { get; set; }public string StudentName { get; set; }public string BirthDay { get; set; }public int Age { get; set; }
} 

4. SqlDataAdapter

SqlDataAdapter是 DataSet和 SQL Server之间的桥接器,用于检索和保存数据。SqlDataAdapter通过对数据源使用适当的Transact-SQL语句映射 Fill(它可更改DataSet中的数据以匹配数据源中的数据)和 Update(它可更改数据源中的数据以匹配 DataSet中的数据)来提供这一桥接。当SqlDataAdapter填充 DataSet时,它为返回的数据创建必需的表和列(如果这些表和列尚不存在)。

操作SqlDataAdapter
string sql = "select * from Students";  // sql语句
SqlCommand cmd = new SqlCommand(sql,conn) ; // sql命令DataSet ds = new DataSet(); // 创建一个dataset变量
SqlDataAdapter adapter = new SqlDataAdapter(cmd); // 执行cmd命令 返回的是查询语句的数据集合
adapter.Fill(ds); // 使用adater填充数据集
this.dataGridView1.DataSource = ds.Tables[0]; // 从数据库ds去除数据赋值给表格的datasource

http://www.lryc.cn/news/456896.html

相关文章:

  • Linux之实战命令33:mount应用实例(六十七)
  • 论文精读:基于概率教师学习的跨域自适应目标检测(ICML2022)
  • thinkphp 学习记录
  • Leetcode 24 Swap Nodes in Pairs
  • 选择 PDF 编辑器时要考虑什么?如何选择适用于 Windows 10 的 PDF 编辑器
  • 33-Golang开发入门精讲
  • 研发中台拆分之路:深度剖析、心得总结与经验分享
  • SWIFT Payment
  • 数据结构之红黑树实现(全)
  • 冷热数据分离
  • 朝花夕拾:多模态图文预训练的前世今生
  • 亳州自闭症寄宿制学校,关注孩子的学习和生活
  • Root me CTF all the day靶场ssrf+redis漏洞
  • C#中Json序列化的进阶用法
  • IO相关的常用工具包
  • Spring Boot集成RBloomFilter快速入门Demo
  • 布局性能优化
  • 智云人才推荐与管理系统
  • git在远程分支上新建分支
  • 用Python实现的高校教师资格考试题库程序
  • OpenVINO基本操作流程
  • Spring MVC 注解详解:@RequestBody,@RequestParam 和 @PathVariable
  • MySQL 8 中的 sql_mode
  • 13种pod的状态
  • 2025考研今天开始预报名!攻略请查收
  • JS中的Promise经典题目解析
  • 【机器学习】金融预测 —— 风险管理与股市预测
  • Bootstrap 5 分页组件使用教程
  • Linux 安装 NVM 并配置 npm 加速,开发 node 项目不再愁
  • MySQL 多条件查询