测试连接
//这里是一个测试类 public void test() { //设置连接借口 SqlConnection conn = new SqlConnection("server=YBO-PC;database=newssystem;User ID=sa;Password=123123");//内联 /*conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);*/ //打开连接接口 conn.Open(); //将连接和SQL语句传给过程 SqlCommand cmd = new SqlCommand("insert into category(name) values('沈阳')",conn); //执行过程 (这里返回的是一个受影响数) cmd.ExecuteNonQuery(); //关闭连接接口 conn.Close(); }
传入一个SQL语句 //增,删,改 返回更新行数
//传入一个SQL语句 进行增,删,改 返回记录行数 public int ExecuteNonQuery(string sql) { int res = 0; try //抛出异常 { conn.Open(); cmd = new SqlCommand(sql, conn); res = cmd.ExecuteNonQuery(); } catch (Exception ex) //异常处理 { throw ex; } finally //必须执行代码 { conn.Clone(); } return res; }
传入一个SQL语句 //查询 返回一个数据表格
//传入一个SQL语句 //查询 返回一个数据表格 public DataTable ExecuteQuery(string sql) { //定义一个可以存储表的类 数据网格控件 DataTable dt = new DataTable(); //打开连接接口 conn.Open(); //传入查询语句并于过程连接 cmd = new SqlCommand(sql,conn); //定义一个数据表对象 并将执行过程的结果传给数据表对象 SqlDataReader sdr = cmd.ExecuteReader(); //将数据对象的内容载入到dt数据网格控件中 dt.Load(sdr); //关闭数据表对象 sdr.Close(); //关闭连接接口 conn.Close(); //返回 网格数据 return dt; }
测试传参数集合(防止SQL语句滥用)
//测试传变量 public int test() { int res; conn.Open(); /*用Using防止出错,连接失败将自动关闭连接接口*/ using (cmd=new SqlCommand("insert into category(name) values(@caName)",conn)) { /*定义一个参数,将"测试"传给@caName*/ cmd.Parameters.Add(new SqlParameter("@caName","测试")); /*执行过程 返回执行行数(int)传给res*/ res = cmd.ExecuteNonQuery(); } return res; }
带数组变量 的 增 删 改 方法
//带数组变量 的 增 删 改 方法 public int ExecuteNonQuery(string sql,SqlParameter[] paras) { int res; conn.Open(); using (cmd = new SqlCommand(sql, conn)) { /*将参数传给过程*/ cmd.Parameters.AddRange(paras); res = cmd.ExecuteNonQuery(); } return res; }
带数组变量 的 查询 方法
//带数组变量 的 查询 方法 public DataTable ExecuteQuery(string sql,SqlParameter[] paras) { //定义一个可以存储表的类 数据网格控件 DataTable dt = new DataTable(); //打开连接接口 conn.Open(); //传入 查询语句 连接连接接口 到 过程 cmd = new SqlCommand(sql, conn); //给过程添加参数 cmd.Parameters.AddRange(paras); //using起异常作用 无论成功与否都会将 conn和rea 关闭 using (SqlDataReader sdr =cmd.ExecuteReader (CommandBehavior.CloseConnection)) { dt.Load(sdr); } return dt; }
/* 查询 带参数存储过程 过程名 参数集合 返回一个表*/
/* 查询 带参数存储过程 过程名 参数集合 返回一个表*/ public DataTable testt(string procName, SqlParameter[] paras) { /*定义一个 表*/ DataTable dt = new DataTable(); /*打开连接接口*/ conn.Open(); /*给过程赋值 存储过程名 和 接口名*/ cmd = new SqlCommand(procName, conn); /*给过程定义类型 这里是存储过程*/ cmd.CommandType = CommandType.StoredProcedure; //参数传给过程 cmd.Parameters.AddRange(paras); //执行语句 是否成功都会关闭所有连接( 数据库读取行的只进流的方式sdr=执行cmd过程(错误则关闭连接)) using (SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) { //数据表 载入(数据库读取行的只进流的方式) dt.Load(sdr); } return dt; }
/* 增删改 带参数存储过程 过程名 参数集合 返回一个记录*/
/* 增删改 带参数存储过程 过程名 参数集合 返回一个记录*/ public int ExecuteNonQueryProce(string cmdText, SqlParameter[] paras) { int res; conn.Open(); using (cmd = new SqlCommand(cmdText,conn)) { /*定义过程类型*/ cmd.CommandType = CommandType.StoredProcedure; /*添加参数集合*/ cmd.Parameters.AddRange(paras); /*执行过程并将过程数返回给res*/ res = cmd.ExecuteNonQuery(); } return res; }