C#-SQL Server

-- 事务

begin transaction

     增删改事务

     if(@myError = 0)

              begin

                       commit

              end

     else

              begin

                       rollback

              end

-- 存储过程:将一个执行过程封装成一个名字

/* procedure

     create proc[edure] 存储过程名字

     参数 as 类型 [默认值|output]

     as

     begin

              代码

     end

*/

/*  存储过程的try catch

     begin try

     end try

     begin catch

     end catch

*/

exec  -- 执行存储过程

-- 触发器:一个特殊的存储过程,执行某一个操作而自动的触发,就像事件

-- 监视操作

-- 补充约束

/*

     create trigger tr_类型_触法器的名字 on 表名

     触法类型:after | instead of

     操作类型:insert | delete | update

     as

     begin

              代码

     end

*/

 

 

/* 连接数据库*/

//1.准备连接字符串

string connStr = @"server=ip\实例名;database=数据库;uid=sa;pwd=123;";// 数据库服务实例名、连接的数据库、验证的凭证(用户名|密码)

//2.准备sql语句

string sql = "";

//3.创建连接对象

SqlConnection conn = new SqlConnection(connStr);

//4.创建执行对象

SqlCommand cmd = new SqlCommand(sql,conn);

//5.打开连接

conn.Open();

//6.执行操作

int count = cmd.ExecuteNonQuery();

//7.关闭

conn.Dispose();

cmd.Dispose();

/* 四个模型 */

int ExecuteQuery(){

     执行非查询语句,返回受影响的行数,如果执行的是非增删改操作返回-1

}

Object ExecuteScalar (){

     返回查询的第一行第一列的结果,不存在返回;

     一般与聚合函数连用

}

SqlDataReader cmd.ExecuteReader(){

     读取数据库文件

Read()方法

     索引、FieldCount字段数

}

DataSet GetDataSet(){

SQLDataAdapter sda = new SqlDataAdapter(sql语句,连接字符串){

sda.Fill(DataSet对象);

//DataGridView控件.DataSource属性

}

/* SQLHelper */

//封装数据库操作,方法、参数、模式,提供sql语句或参数,得到结果

// 提供执行方法

public class SQLHelper

{

// 连接字符串

static string connStr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;

/// <summary>

/// 实现非查询操作(增删改),返回受影响行数,否则返回-1

/// </summary>

/// <param name="sql"></param>

/// <param name="ps">可变参数</param>

/// <returns></returns>

public static int ExecuteNonQuery(string sql, params SqlParameter[] ps)

{

using (SqlConnection conn = new SqlConnection(connStr))

{

using (SqlCommand cmd = new SqlCommand(sql, conn))

{

cmd.Parameters.AddRange(ps);

conn.Open();

return cmd.ExecuteNonQuery();

}

}

}

public static object ExecuteScalar(string sql, params SqlParameter[] ps)

{

using (SqlConnection conn = new SqlConnection(connStr))

{

using (SqlCommand cmd = new SqlCommand(sql, conn))

{

cmd.Parameters.AddRange(ps);

conn.Open();

return cmd.ExecuteScalar();

}

}

}

public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] ps)

{

SqlConnection conn = new SqlConnection(connStr);

try

{

using (SqlCommand cmd = new SqlCommand(sql, conn))

{

cmd.Parameters.AddRange(ps);

conn.Open();

return cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

}

}

catch (Exception ex)

{

conn.Dispose();

throw ex;

}

}

 

public static DataSet GetDataSet(string sql, params SqlParameter[] ps)

{

DataSet ds = new DataSet();

using (SqlDataAdapter sda = new SqlDataAdapter(sql, connStr))

{

sda.SelectCommand.Parameters.AddRange(ps);

sda.Fill(ds);

}

return ds;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值