ADO.NET

各类对象

  • SqlConnection=>数据库连接器
  • SqlCommand=>数据库执行对象
  • SqlCommandBuilder=>生成SQL命令
  • DataReader=>数据读取
  • DatAdapter=>DataSet和数据源之间的桥梁
  • SqlParameter=>参数
  • SqlTransaction=>存储过程

标准的连接操作过程

// 定义连接字符串            
string connStr = "Server=.;database=Db_Tank;user=sa;pwd=qaz123..";
// 创建连接对象
SqlConnection conn = new SqlConnection(connStr);
// 开启连接
conn.Open();
// State表示连接状态
if(conn.State==System.Data.ConnectionState.Open)
{
   Console.WriteLine("数据库连接成功!");
}
// 关闭连接
conn.Close();
// 资源释放
conn.Dispose();

Command对象

// Command对象用来执行SQL操作命令,也可用于执行存储过程

string sql = "SELECT COUNT(*) FROM SHOP_GOODS";
// 方式1
//SqlCommand cmd = conn.CreateCommand();
//cmd.CommandText = sql;

// 方式2
SqlCommand cmd = new SqlCommand(sql, conn);
int count = (int)cmd.ExecuteScalar();
Console.WriteLine("查询到的数据有{0}条",count);

ExecuteNonQuery()

返回受影响的行数,一般用于对数据库的增加、更新、删除操作

ExecuteScalar()

从数据库检索单个值,主要用于统计操作

ExecuteReader()

// 用于只进只读的高效数据查询,返回一个SqlDatReader对象
string sql = "SELECT * FROM SHOP_GOODS WHERE TemplateID < @Templateid";
SqlParameter parameter = new SqlParameter(
   "@Templateid",100);
SqlCommand comm = conn.CreateCommand();
comm.CommandText = sql;
comm.Parameters.Add(parameter);
SqlDataReader reader = comm.ExecuteReader();
while(reader.Read())
{
   Console.WriteLine(reader["Name"]);
}
// 问题 当SqlParameter的第二个参数为0时,默认会把第二个参数当作SqlDbType枚举的重载,所以如果第二个参数要填写0,需要改成"0"

本文系作者 @ 原创发布在 IT梦。未经许可,禁止转载。

喜欢()
0 0 投票数
Article Rating
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
热门搜索
27 文章
12 评论
76 喜欢
Top
0
希望看到您的想法,请您发表评论x
()
x