141019●用C#操作SQL数据库

数据库操作:ADO.NET

一、命名空间:

using System.Data;

using System.Data.SqlClient;     //针对SqlServer进行优化了的数据访问类的空间

System.Data.OleDB;System.Data.ODBC;    //命名空间通用数据访问类的空间。

ODBC——Open DataBase Connection开放式数据互联

二、步骤:

1、建立链接对象——建一个通向数据库的通道。

2、打开通道

3、操作数据库

4、关闭通道

三、类及使用

链接字符串

方法一:server=.;database=mydb;uid=sa;pwd=123

方法二:菜单栏中“视图”→“服务器资源管理器”→右键→“添加连接”→选择“Sql Server”→VS窗口右边的“属性”→“链接字符串”

(一)、链接对象:

SqlConnection:链接数据库的类

1、构造函数:

SqlConnection()

SqlConnection(string connectionString)

2、属性:

ConnectionString:字符串类型,连接字符串

State:连接状态

3、方法:

Open()

Close()

CreateCommand();    //生成一个通过本链接对象来访问数据库的SqlCommand实例。

4、举例

string connectionString = "server=.;database=mydb;uid=sa;pwd=123";

SqlConnection conn = new SqlConnection(connectionString);

conn.Open();

//操作

conn.Close();

(二)、命令对象

SqlCommand:数据库操作的命令对象

1、构造函数:

SqlCommand();  //推荐

SqlCommand(string sql)

SqlCommand(string sql,SqlConnection conn)

2、属性:

CommandText:字符串类型,要执行的SQL语句、存储过程

CommandType:CommandType枚举类型。CommandType.Text--要执行的是SQL语句(默认);CommandType.StoredProcedure——要执行的是存储过程。

      如何调用存储过程?

        1.把CommandText赋为存储过程的名。

        2.把CommandType赋为CommandType.StoredProcedure

        3.使用cmd.Parameters.AddWithValue()为存储过程参数赋值。

Connection:SqlConnection类型,通过哪个链接通道访问数据库

Parameters:对CommandText中的SQLServer局部变量进行赋值或取值

3.方法:

ExecuteNonQuery();    //执行增删改的方法,返回影响的行数。

ExecuteReader();    //用来执行查询的方法,返回SqlDataReader对象,用来执行查询。

ExecuteScalar();    //返回首行首列,一般用来执行统计查询。

int count=(int)ExecuteScalar();

4、举例:

string connectionString = "server=.;database=mydb;uid=sa;pwd=123";

SqlConnection conn = new SqlConnection(connectionString);

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

cmd.CommandText = "Sql语句";

conn.Open();

cmd.ExecuteNonQuery();

conn.Close();

(三)、读取器对象。在内存中只占一条数据的空间。获取数据库中数据。SqlDataReader

1、构造函数

无法new出来。原因是,它的构造函数是非public的。

它只有一种实例化的方式:SqlDataReader dr = cmd.ExecuteReader();

2、属性

.HasRows    //返回bool型数据,判断读取器中是否能读取数据。

3、方法

.Read();    //把数据读取到SqlDataReader对象中来。如果读取成功,返回true;否则返回false。

dr.Close();    //关闭读取器。关闭链接时,读取器随之关闭。

dr[“列名”];    //读取内存中当前SqlDataReader对象中的某列数据,读出来的数据是Object类型。

dr[索引号];    //读取内存中当前SqlDataReader对象中的某列数据,读出来的数据是Object类型。

dr.GetString(索引号),dr.Getint(索引号)……

4、举例:

string connectionString = @"server=.\sqlexpress;database=mydb;uid=sa;pwd=sa";

SqlConnection conn = new SqlConnection(connectionString);

SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;

cmd.CommandText = "select * from info";

conn.Open();

SqlDataReader dr = cmd.ExecuteReader();

while (dr.Read())

{

Console.WriteLine(dr["Code"].ToString()+dr["Name"].ToString());

}

conn.Close();

服务——服务器管理器

装箱(Boxing)

把数据从值类型变成引用类型;把数据从栈空间转型到堆空间。

拆箱(Unboxing)

把数据从引用类型变成值类型;把数据从堆空间转型到栈空间。

int n=19;

object obj=n;    //装箱。

n=20;

int m=(int)obj;    //拆箱。

坏处:

1、装箱,占空间,占时间,运行慢。

2、拆箱,占用时间,可能出现类型异常。

异常处理

异常,与正常情况有差异,不一定是错误。

try

{

可能会出现异常的代码;

}

[catch[(异常类型 异常对象)]

{

一旦出现异常,将会进入此处,

对错误信息进行处理;

}]

[finally    //不论程序是否运行正常,最后一定执行,常用来关闭链接通道。

{

}]

时间: 2025-01-20 05:34:15

141019●用C#操作SQL数据库的相关文章

小胖学PHP总结5-----PHP操作SQL数据库(Deprecated: mysql_connect(): The mysql extension is deprecated and will)

第一:打开数据库 要操作SQL数据库,首先必须于MySQL服务器建立连接,连接MySQL服务器的语句: mysql_connect('hostname','username','password') 该函数的返回值用于表示这个数据库连接成功,如果连接成功,则会返回一个资源,为以后执行SQL指令做准备. <?php $link = mysql_connect("localhost:3306","root","123456") or die(&

C#学习之旅---C#操作SQL数据库

C#操作SQL数据库 Connection(连接)对象 连接字符串: 形式1.”server=;uid=;pwd=;database=” 形式2.”server=;Intergrated Security=true/SSPI” 创建连接对象: SqlConnection con=new SqlConnection(连接字符串) 打开数据库连接:con.Open() 关闭数据库连接:con.Close() 查看连接状态:con.state =ConnectionState.Open/Closed

通过泛型数据,操作SQL数据库

本人在操作数据库的时候,采用将对象的形式操作传入数据库,经过大量百度和朋友帮助,总结出如下两个接口.用于插入数据,提取数据. 要这样操作的前提条件,就是类名和表名一致,类字段和表字段一致就可以了 /// <summary> /// 插入一个数据 /// </summary> /// <param name="pole">需要插入的数据</param> /// <returns></returns> public i

操作Sql数据库帮助类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace DateBase { public class Helper { /// <summary> /// 定义SqlConnection /// </summary> public static Sql

MVC操作SQL数据库增删改查

控制器代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; namespace MvcApplication1.Controllers { public class HomeController : Controller { // // GET: /Home/ publi

python操作SQL数据库

好久没来了 ,最近都在学习python语言, 整理一些学习文档 .先看几张图有个大概的了解,随后甩出实例,

Android高级-Android操作SQL数据管理,增删改查

已经学了好几天SQL了,昨天刚接触到Android操作SQL数据库,晚上老师留了一个作业,效果图如下 分别是,主界面,和修改,添加,以及删除界面 首先我们先来实现布局 MainActivity.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android&quo

[转]C#操作SQL Server数据库

转自:C#操作SQL Server数据库 1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用: 第三,对SQL或存储过程执行后返回的“结果”进行操作. 对返回“结果”的操作可以分为两类: 一是用SqlDataReader直接一行一行的读取数据集: 二是DataSet联合SqlDataAdapter来操作数据库. 两者比较: SqlDataRead

C#操作SQL Server数据库

C#操作SQL Server数据库 1.概述 2.连接字符串的写法 3.SqlConnection对象 4.SqlCommand对象 5.SqlDataReader对象 6.DataSet对象 7.释放资源 1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用: 第三,对SQL或存储过程执行后返回的"结果"进行操作. 对返回"结