数据访问

对应命名空间:System.Data.SqlClient;

SqlConnection:连接对象

SqlCommand:命令对象

SqlDataReader:读取器对象

CommandText:命令文本

增删改、查分以下几步:

1、造连接字符串

string connstring = "server=.;database=mydb;user=sa;pwd=123";

          connstring:造的字符串名

          server指服务器一般是IP地址本机可以使用点;           

                             database指数据库名称要访问的数据库名称           

                             user数据库的用户名:一般是sa           

                             pwd数据库的密码:自己设置的

2、造连接对象

SqlConnection conn = new SqlConnection(connstring);

          conn:造的连接对象名

3、创建命令对象

SqlCommand cmd = conn.CreateCommand();

          cmd:造的命令对象名

4、写要执行的SQL语句

     4-1:查询

  cmd.CommandText = "select * from Info";

  //4-2:添加

  cmd.CommandText = "Insert into Info values('p032','毒哥','True','n001','1987-02-02')";

  //4-3:删除

  cmd.CommandText = "delete from Info where Code='p032';

  //4-4:更改

   cmd.CommandText = "update Info set name='情方方' where Code='p032';

5、打开连接

conn.Open();  //可放在执行之前的任意位置

6、执行操作

     5-1:(读取操作,返回读取器对象)

  SqlDataReader dr = cmd.ExecuteReader();

  //5-2.执行操作(增删改操作,返回行数)   

cmd.ExecuteNonQuery();

7、处理数据

     6-1:查询一条数据

  if (dr.HasRows)      //HasRows 判断是否有行数据 bool型,返回true/false   

{     

dr.Read();  //dr.Read() 是数据库数据访问指针,每执行一次都会向下走一行,如果有内容则返回true,同时dr访问为当前行数据集合,可以使用索引或是列名来访问相对应的数据

    Console.WriteLine(dr[0]);     

Console.ReadLine();   

}   

else   

{     

Console.WriteLine("读取失败!");   

}

      //6-2.查询多条数据

  if (dr.HasRows)   

{     

while(dr.Read())  //使用while循环读取所有数据  一行数据是一个数组,一行数据里有多少列就有多少个索引                   

{     

Console.WriteLine(dr[0]+"----"+dr[1]);   

}

         Console.ReadLine();   

}   

else   

{     

Console.WriteLine("没有读到数据");     

Console.ReadLine();   

}

8、关闭连接

conn.Close();

例1:根据用户输入一个条件查询数据

static void Main1(string[] args){//用户输入内容Console.WriteLine("请输入要查询的名称:");string str = Console.ReadLine();//造连接字符串string connstring = "server=.;database=mydb;user=sa;pwd=123";//造连接对象SqlConnection conn = new SqlConnection(connstring);//造命令对象SqlCommand cmd = conn.CreateCommand();//准备一条SQL语句cmd.CommandText = "select * from Info where Name like '%"+str+"%'";//打开连接
            conn.Open();//执行SQL语句SqlDataReader dr = cmd.ExecuteReader();//读取数据if (dr.HasRows){while (dr.Read()){int n = 0;while ( n <dr.FieldCount ) //.FieldCount获取当前行的列数
                    {Console.Write(dr[n]+"\t");n++;}Console.WriteLine();}}else{Console.WriteLine("没有查到满足条件的数据");}//关闭连接
            conn.Close();Console.ReadLine();}

View Code

例2:让用户输入要删除的数据主键值(此方法不安全)

static void Main4(string[] args){//用户输入要删除的数据主键值Console.WriteLine("请输入要删除的代号:");string code = Console.ReadLine();//判断该数据存不存在SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");SqlCommand cmd = conn.CreateCommand();cmd.CommandText = "select * from Info where Code='"+code+"'";conn.Open();SqlDataReader dr = cmd.ExecuteReader();if (dr.HasRows){//说明该数据存在Console.WriteLine("查到该数据,是否要执行删除操作,如果要删除请输入:1");int sc = Convert.ToInt32(Console.ReadLine());if (sc == 1){//删除dr.Close(); //关闭读取器
cmd.CommandText = "delete from Info where Code='"+code+"'";cmd.ExecuteNonQuery();Console.WriteLine("删除成功!");}else{//不删除
                    dr.Read();string sex = Convert.ToBoolean(dr[2])?"男":"女";string nation = MinZu(dr[3].ToString());string str = "代号:"+dr[0]+"\t姓名:"+dr[1]+"\t性别:"+sex+"\t民族:"+nation+"\t生日:"+dr[4];Console.WriteLine(str);}}else{//数据不存在Console.WriteLine("输入的代号错误!");}conn.Close();Console.ReadLine();}static string MinZu(string code){string name="";SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");SqlCommand cmd = conn.CreateCommand();cmd.CommandText = "select Name from Nation where Code = '" + code + "'";conn.Open();SqlDataReader dr = cmd.ExecuteReader();if (dr.HasRows){dr.Read();name = dr[0].ToString();}conn.Close();return name;}

View Code

例:让用户输入要添加的内容

static void Main3(string[] args){//让用户输入要添加的内容Console.WriteLine("请输入要添加的代号:");string code = Console.ReadLine();Console.WriteLine("请输入姓名:");string name = Console.ReadLine();Console.WriteLine("请输入性别:");bool sex = Console.ReadLine()=="男"?true:false;Console.WriteLine("请输入民族:");string nation = Console.ReadLine();Console.WriteLine("请输入生日:");string birthday = Console.ReadLine();string nationcode = "n001";//将民族名称转为名族代号SqlConnection conn = new SqlConnection("server=.;database=mydb;user=sa;pwd=123");SqlCommand cmd = conn.CreateCommand();cmd.CommandText = "select Code from Nation where Name = '"+nation+"'";conn.Open();SqlDataReader dr = cmd.ExecuteReader();if (dr.HasRows){dr.Read();nationcode = dr[0].ToString();}conn.Close();//往Info表添加数据cmd.CommandText = "insert into Info values('"+code+"','"+name+"','"+sex+"','"+nationcode+"','"+birthday+"')";conn.Open();cmd.ExecuteNonQuery();conn.Close();Console.WriteLine("添加成功!");Console.ReadLine();}

View Code

转载于:https://www.cnblogs.com/H2921306656/p/5796010.html

ADO.Net(一)——增、删、改、查相关推荐

  1. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  2. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  3. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  4. PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理

    笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...

  5. list 增 删 改 查 及 公共方法

    1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...

  6. 简单的php数据库操作类代码(增,删,改,查)

    数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...

  7. pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...

  8. Linux技术--mysql数据库增-删-改-查

    # mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器   Linux或者 windows  * 数据库  * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...

  9. Python 操作 Elasticsearch 实现 增 删 改 查

    Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...

  10. Go 学习笔记(50)— Go 标准库之 net/url(查询转义、查询参数增/删/改/查、解析URL)

    1. URL 概述 import "net/url" url 包解析 URL 并实现了查询的转码.URL 提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案( ...

最新文章

  1. mysql中char与varchar的区别分析(补充一句,int和integer没区别)
  2. 听说又被 JVM 内存区域方面的面试题给虐了?看看这篇文章吧!
  3. 第十六届智能车竞赛视觉AI组相关议题讨论
  4. python sort函数返回值_lambda函数与箭头函数在集合内置函数应用中的对照学习
  5. 人工智能时代下的视觉合成
  6. linux docker 目录挂载映射
  7. 南京大学计算机学院宋教授,宋曰钦教授
  8. SQL Server 存储过程 SET 语句选项
  9. Java Integer类详解
  10. Objective-C 2.0 with Cocoa Foundation--- 9,内存管理
  11. centos7全盘备份到本地_CentOS7 系统盘迁移案例【大硬盘迁移到小硬盘,新思路】...
  12. 【语义分割】全卷积网络(Fully Convolutional Networks, FCN)详解
  13. hdu 2883 kebab 网络流
  14. 敏捷开发“松结对编程”实践之二:计划与设计篇(大型研发团队,学习型团队,139团队,师徒制度,设计评审,预想陈述,共同估算,扑克牌估算)...
  15. CUBRID学习笔记 21 查看主键外键索引
  16. 海南航空宁波到重庆的变态机票
  17. ectouch后台添加菜单
  18. 跨境电商:独立站如何品牌化运营?
  19. 代码坏的味道17:狎昵关系 (Inappropriate Intimacy)
  20. 画笔Paint及模拟画图工具

热门文章

  1. SpringBoot 的事务管理
  2. 美团云、苏宁云相继停止运营,公有云市场大洗牌
  3. Python开发人员最喜欢的工具
  4. 打车界的“拼多多”?
  5. Android你可能要用到的自定义View分享
  6. 【Task2(2天)】特征工程
  7. dubbo+zookeper与webservice的简单对比
  8. (转)Windows Phone7页面导航
  9. MS印象-----北京.Net俱乐部8.13活动
  10. Python-进程与线程理论基础-Day10