您的位置:首页 > 数据库

C#基础——C#连接SQL数据库

2014-08-01 10:58 281 查看

引言

本文将简单介绍C#程序连接SQL数据库数据库的几个步骤,初学者可以参考,文章最后给出一个可以使用的DBHelper类。

一、连接步骤

1. 新建连接对象

DbConnection conn=new SqlConnection();

//SqlConnection是DbConnection的子类,直接使用SqlConnection类创建连接对象也可以

SqlConnection conn=new SqlConnection();

2. 连接字符串

conn.ConnectionString="(连接字符串)";

3. 打开数据库

try{

conn.Open();

}

catch{}

二、数据命令

1. 数据命令

DbCommand cmd=conn.CreateCommand(); //可以用具体类型Sqlcommand

2. 执行命令

int count=cmd.ExecuteNonQuery(); //ExecuteNonQuery()返回数据库中受影响的条数

ExecuteSaclar()函数返回结果集中第一行第一列的值(类型为object)

三、数据操作

1. 数据阅读器

SqlDataReader reader=cmd.ExecuteReader();

while(reader.Read())

{

Console.WriteLine(reader["字段1"]);

Console.WriteLine(reader["字段2"]);

……

}

DbDataReader用于对记录集执行向前和只读的访问。该对象维护了一个游标,其开始位置在第一条记录之前;只要还未到达记录的最后一行,调用Read()方法就会返回True,同时读取下一条记录,并将游标位置向前推进一行;否则Read()方法就返回false。每次读取完记录之后,DbDataReader对象储存了该行记录的信息,可以通过索引访问指定的字段值。

使用完DbDataReader对象后,应调用Close()方法关闭阅读器,否则在同一数据连接下就不能执行其它数据命令。

2. 数据适配器

SqlDataAdapter adapter=new SqlDataAdapter(cmd);

DataTable table=new DataTable("data");

adapter.Fill(table);

数据适配器DbDataAdapter可以将记录一次性填充到数据集或者数据表格中,跟踪表格中的数据变化,并将结果保存数据库。数据适配器在物理数据源和DataTable/DataSet之间架起了一座桥梁,它能够方便的使内存数据和物理数据同步,同时大大的降低了编程的工作量。

四、DBHelper类

public static class DBHelper
{
private static SqlConnection _conn = new SqlConnection(/*自己的程序,连接字符串需替换掉*/"Data Source=.;Initial Catalog=AirSysData;Integrated Security=True");

public static void Connect()
{
if (_conn.State == ConnectionState.Closed)
{
_conn.Open();
}
else if (_conn.State == ConnectionState.Broken)
{
_conn.Close();
_conn.Open();
}
}

public static void Disconnect()
{
if (_conn.State != ConnectionState.Closed)
_conn.Close();
}

public static int ExecuteNonQuery(string StrCommand)
{
if (_conn.State != ConnectionState.Open)
Connect();
SqlCommand com = _conn.CreateCommand();
com.CommandText = StrCommand;
return com.ExecuteNonQuery();
}

public static SqlDataReader ExecuteReader(string StrCommand)
{
if (_conn.State != ConnectionState.Open)
Connect();
SqlCommand com = _conn.CreateCommand();
com.CommandText = StrCommand;
return com.ExecuteReader();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: