1.连接字符串

 string connectString = "server=.;database=StudentMIS;integrated security=true";

2.指定数据源:data source/server ,IP地址,如果是本机可以使用localhost或者local或者‘ .’,server——服务器名
3.指定数据库:database/inital catalog
4.身份验证方式:1.sql验证:userid= ;password= ; 2.windows验证:integrated security=true
5.

  string connectString = "server=.;database=StudentMIS;integrated security=true";SqlConnection connection = new SqlConnection(connectString);connection.Open();//打开连接Console.WriteLine(connection.State.ToString());//查看连接状态//..读取数据的代码//connection.Close();//关闭连接Console.WriteLine(connection.State.ToString());

6…using有两个作用:一个是引用命名空间,另一个是在using这个代码块结束后,自动调用Close()方法

 using ( SqlConnection connection = new SqlConnection(connectString)){connection.Open();// connection.Open();//连接不能重复打开,但是能重复关闭Console.WriteLine(connection.State.ToString());}

在连接数据库时要加上

using System.Data;
using System.Data.SqlClient;

using的本质:

 1.创建对象 2.try..   3.finall(.Dispose())

7.查询一个结果

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;namespace 查询一个结果
{class Program{static void Main(string[] args){string connStr = "data source=.;database=StudentMIS;integrated security=true";using(SqlConnection connection=new SqlConnection(connStr)){connection.Open();using(SqlCommand cmd=new SqlCommand()){//string sql = "select count(1) from TbStudent";//string sql = "select stuName from TbStudent where stuNumber='184804060'";string sql = "select stuName,stuNumber from TbStudent";cmd.CommandText = sql;cmd.Connection = connection;//ExecuteScalar()用来执行一条select语句,并且返回一个数据//int count = Convert.ToInt32(cmd.ExecuteScalar());// Console.WriteLine("全院一共有{0}个同学", count);Console.WriteLine(cmd.ExecuteScalar().ToString());//ExecuteScalar()用来执行一条select语句,并且返回查询结果第1行第1列的数据}}}}
}

ExecuteScalar()用来执行一条select语句,并且返回查询结果第1行第1列的数据
8.查询表值结果集

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;namespace 查询表值结果集
{class Program{static void Main(string[] args){string connStr = "data source=.;database=StudentMIS;integrated security=true";using (SqlConnection connection = new SqlConnection(connStr)){connection.Open();using (SqlCommand cmd = new SqlCommand()){string sql = "select clsId,clsName,clsTeacher from TbClass";cmd.CommandText = sql;cmd.Connection = connection;//ExecuteReader()用来执行一条查询结果为表值结果集的select语句,//它返回1个SqlDataReader类型的对象SqlDataReader reader = cmd.ExecuteReader();if (reader.HasRows){while (reader.Read()){//1.使用字段名作为索引//注意:不能使用没有在sql语句中出现的字段名//Console.Write(reader["clsId"].ToString() + "\t");//Console.Write(reader["clsTeacher"].ToString() + "\t");//Console.Write(reader["clsName"].ToString() + "\t");//2.使用索引//Console.Write(reader[2].ToString() + "\t");//Console.Write(reader[0].ToString() + "\t");//Console.Write(reader[1].ToString() + "\t");//3.Console.Write(reader.GetInt32(0).ToString() + "\t");Console.Write(reader.GetString(1).ToString() + "\t");Console.Write(reader.GetValue(2).ToString() + "\t");Console.WriteLine();}}}}}}
}

SqlConnection对象和using本质, ExecuteScalar和ExecuteReader的区别相关推荐

  1. ASP.NET基础教程-SqlConnection对象-使用连接事件

    一.StateChange连接状态事件 StateChange事件在连接状态改变时触发,可以用StateChange事件监视Connection对象状态的改变.处理事件的方法称为事件处理器.这个方法在 ...

  2. 关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别

    关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别: Pojo: Pojo 普通的java对象 最基本的javaBean只有属性 加上属性的get,set方法,可以转 ...

  3. 混淆概念详细解析:Python中类、对象、方法、函数和属性的区别和理解

    混淆概念详细解析:Python中类.对象.方法.函数和属性的区别和理解 前言 一.类.对象.方法.函数和属性的区别和理解 二.一个类的简单案例和对各种概念的理解 三.总结 欢迎学习交流! 邮箱: z- ...

  4. oc 协议 回调 静态成员_OC底层原理探究:Category、关联对象和block本质

    1.分类Category的使用 // 给MJPerson类添加分类 @interface MJPerson : NSObject - (void)run; @end@implementation MJ ...

  5. ExecuteScalar ExecuteReader ExecuteNonQuery 区别

    ExecuteScalar: 执行查询,并返回查询所返回的结果集中第一行的第一列.忽略其他列或行. ExecuteReader: 将 CommandText 发送到 Connection 并生成一个 ...

  6. ExecuteNoneQuery、ExecuteScalar和ExecuteReader用法和区别

    1.ExecuteNoneQuery ExecuteNoneQuery方法使用时,它是一个非查询方法(update\add\delete)操作,返回他执行之后所影响的行数,是一个int值. 2.Exe ...

  7. Java中对象池的本质是什么?(实战分析版)

    简介 对象池顾名思义就是存放对象的池,与我们常听到的线程池.数据库连接池.http连接池等一样,都是典型的池化设计思想. 对象池的优点就是可以集中管理池中对象,减少频繁创建和销毁长期使用的对象,从而提 ...

  8. c# ExecuteScalar或ExecuteReader 类型转换错误

    使用VS2008.SQLite做个小程序,需要将查询结果转换为int型,使用了: int i=(int)comm.ExecuteScalar(); 测试时有时报错,有时不报错,错误信息: 结果这个问题 ...

  9. C++中定义类的对象:用new和不用new的区别

    Point p1; Point *p2=new Point(); p1 由系统创建并释放,不用担心会出现内存泄露,但是生命期只有在本区域的大括号内,出了大括号就没用了. P2 是指针,要自己释放,用不 ...

最新文章

  1. XML DOM – 访问节点概述
  2. C#session共享+redis_Shiro权限管理框架(二):Shiro结合Redis实现分布式环境下的Session共享...
  3. Python中的高阶函数sorted
  4. Java序列化报错serialVersionUID不一致
  5. java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.wifi.SCAN_RESULTS flg
  6. java liste_内功心法 -- java.util.ArrayListE (1)
  7. java 单例基类_PHP基于单例模式实现的数据库操作基类
  8. [转载] python中if嵌套语句_Python的if语句怎么嵌套
  9. oracle内与外连接,Oracle (内连接)与(外连接)区别
  10. CVS常用命令速查手册
  11. 开篇、食堂管理评价系统(Android)
  12. 计算机新功能,利用win7新功能提升工作效率
  13. php工程师外派,招聘兼职Php工程师|Php工程师外包-猿急送
  14. 微软面试题 博弈论 经典案例 (参考答案)
  15. 什么是全栈工程师 摘自360
  16. 上市公司环境污染数据大全 2000-2020年上市公司(区分行业、重污染)环境污染数据 环境信息披露EDI 环保投资环境绩效环境排放数据
  17. 零基础入门运维必备 | 一文总结学习 Python 的 14 张思维导图
  18. CNN和机器学习算法性能测试
  19. 树莓派上编写串口助手软件
  20. 微信android自动播放视频文件,vue-player或TcPlayer在微信内自动播放video和audio

热门文章

  1. 详细说明Win10添加开机自动运行软件3种方法
  2. 计算机英语中liabilities,中国会计科目中英文对照(含科目代码)
  3. 微型计算机B305怎么拆,联想B305一体机怎么拆
  4. Qt Line的样式
  5. python+vue蛋糕甜品在线购物商城网站django
  6. 人要有魄力,拿得起,放得下
  7. html5中13种文本框汇总
  8. php 自动生成sql,用PHP批量生成SQL更新语句 网页版
  9. [附源码]Python计算机毕业设计-Java网名推荐系统
  10. 她 | 仅靠公众号,成为1200万爸妈的意见领袖,这个网红妈妈凭什么?