连接对象
成员 | 作用 |
---|---|
BeginTransaction() | 用来开始数据库事务 |
ChangeDatabase() | 为打开的连接更改当前数据库 |
ConnectionTimeout | 这个只读属性返回建立连接时终止尝试并生成错误之前的等待的时间。如果想修改这个值,需要在连接字符串中加入Connect Timeout片段 |
Database | 获取连接对象的数据库名 |
DataSource | 获取连接对象的数据库服务器名 |
GetSchema() | 返回一个包含数据源结构信息的DataTable对象 |
State | 这个只读属性获取当前连接状态,表示为ConnectionState枚举形式 |
修改超时时间:
cn.ConnectionString = @"Data Source = (local)\SQLEXPRESS;"+"Intergrated Security=SSPI;Initial Catalog = AutoLot;Connect Timeout = 30";
使用ConnectionStringBuilder对象(连接字符串构造函数对象):
//通过构造函数对象来建立连接字符串
SqlConnectionStringBuilder cnStrBuilder = new SqlConnectionStringBuilder();
cnStrBuilder.InitialCatalog = "AutoLot";
cnStrBuilder.DataSource = @"(local)\SQLEXPRESS";
......
使用命令对象
成员 | 作用 |
---|---|
CommandTimeout | 获取或设置在终止执行命令的尝试并生成错误之前的等待时间,默认30秒 |
Connection | 获取或设置此DbCommand实例使用的DbConnection |
Parameters | 获取DbParameter对象的集合,用于参数化 查询 |
Cancel() | 取消执行命令 |
ExecuteReader() | 执行SQL查询并返回一个数据提供程序的DbDataReader对象,以只读向前的方式访问查询结果 |
ExecuteNonQuery() | 提交SQL语句到数据库,不会有返回值(如插入、更新、删除或创建表) |
ExecuteScalar() | 一个轻量级版本的ExecuteReader(),用于返回一个值的查询 |
Prepare() | 在数据源上创建该命令的准备好的版本,我们知道这样一个查询的执行速度会稍微快些 |
代码:
//建立命令对象
string strSQL = "Select * From Inventory";
SqlCommand myCommand = new SqlCommand(strSQL,cn);
注意:此时还没有真正提交SQL查询
使用数据读取器:
//通过ExecuteReader()得到一个数据读取器对象
using( SqlDataReader myDataReader = myCommand.ExcuteReader() ){
for(int i =0; i < myDataReader.FieldCount; i++){
Console.WriteLine("{0} = {1}",myDataReader.GetName(i),myDataReader.GetValue(i).ToString() );
}
}