数据访问

对应命名空间: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:根据用户输入一个条件查询数据

 

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

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

最新文章

  1. Collection集合
  2. swift-重写方法和属性、禁止重写
  3. java多线程详解(3)-线程的互斥与同步
  4. RESTful使用
  5. const char* && string && String^ 类型转换
  6. RVM 实用指南
  7. javascript第二遍基础学习笔记(二)
  8. 查询oracle sql运行计划,一个非常重要的观点--dba_hist_sql_plan
  9. 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结
  10. 再谈控制 cxGrid 的行列颜色
  11. e683. 设置打印的方向
  12. Fragment 横竖屏切换问题
  13. MQ 发布/订阅者模式
  14. python3连接使用sqlite3
  15. IOS-导航路线
  16. delphi让exe开机自启动
  17. git checkout cannot stat permission denied
  18. sparkstreaming+socket workCount 小案例
  19. jquery插件之jquery.extend和jquery.fn.extend的区别
  20. go系列(5)- beego自己写controller

热门文章

  1. mogilefs分布式文件存储
  2. DSOFramer控件使用注意事项
  3. Insert into a Binary Search Tree
  4. CentOS设置代理, yum, wget
  5. nodejs ejs 引擎脱离express使用
  6. 数学补天 By cellur925
  7. Python随笔---return与print,全局变量与局部变量
  8. Hive_Hive的数据模型_分区表
  9. Java Excel API的使用
  10. (转)linux下od命令的使用