C# SQL增删查改
DBHelper:
/// <summary>
/// 执行查询
/// </summary>
/// <param name="sql">有效的select语句</param>
/// <returns>返回SqlDataReader</returns>
public static SqlDataReader ExecuteReader(string sql)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 执行查询带参数
/// </summary>
/// <param name="sql">有效的select语句</param>
/// <returns>返回SqlDataReader</returns>
public static SqlDataReader ExecuteReader(string sql,SqlParameter parameter)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.Add(parameter);
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
/// <summary>
/// 执行查询带参数数组
/// </summary>
/// <param name="sql">有效的select语句</param>
/// <returns>返回SqlDataReader</returns>
public static SqlDataReader ExecuteReader(string sql, SqlParameter[] parameters)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
//AddRange添加数组
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
} /// <summary>
/// 执行增删改
/// </summary>
/// <param name="sql"></param>
/// <returns>影响的行数</returns>
public static int ExecuteNonQuery(string sql)
{
using (SqlConnection con = new SqlConnection(constring))
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
return cmd.ExecuteNonQuery();
}
} public static int ExecuteNonQuery(string sql,SqlParameter[] parameters)
{
using (SqlConnection con = new SqlConnection(constring))
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
//foreach (SqlParameter item in parameters)
//{
// cmd.Parameters.Add(item);
//}
cmd.Parameters.AddRange(parameters); return cmd.ExecuteNonQuery();
}
}
public static int ExecuteNonQuery(string sql, SqlParameter parameter)
{
using (SqlConnection con = new SqlConnection(constring))
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.Add(parameter);
return cmd.ExecuteNonQuery();
}
}
DAL:
public static int Insert(company model)
{ StringBuilder strSql = new StringBuilder();
strSql.Append("insert into company");
strSql.Append("(FullName,ShortName,Keywords,Description,Type,Property,Style,Capital,Size,Details,Province,City,Address,Postalcode,Tel,Fax,Mailbox,Url,Link,createtime,Poss,Linkman,Product,Userid)");
strSql.Append(" values (");
strSql.Append("@FullName,@ShortName,@Keywords,@Description,@Type,@Property,@Style,@Capital,@Size,@Details,@Province,@City,@Address,@Postalcode,@Tel,@Fax,@Mailbox,@Url,@Link, @Createtime,@Poss,@Linkman,@Product,@Userid)"); //第一种: SqlParameter[] parameters = {
new SqlParameter("@FullName",SqlDbType.VarChar),
new SqlParameter("@ShortName",SqlDbType.VarChar),
new SqlParameter("@Keywords",SqlDbType.VarChar),
。。。。。。。。。。。。。。。。。。
}; //第二种: SqlParameter[] parameters = new SqlParameter[]{}; parameters[].Value = model.FullName;
parameters[].Value = ""; //model.ShortName;
parameters[].Value = "";// model.Keywords;
parameters[].Value = model.Description;
parameters[].Value = model.Type;
parameters[].Value = model.Property;
parameters[].Value = model.Style;
parameters[].Value = model.Capital;
parameters[].Value = model.Size;
//如果model.Details为空的话在执行的时候就会报“需要@Details参数,但未提供该参数”所以不能parameters[9].Value = model.Details;这样写
parameters[].Value = model.Details == null ? (object)System.DBNull.Value : model.Details;
//parameters[9].Value = model.Details;
。。。。。。。。。。。。。。。。。。。
return DBHelper.ExecuteNonQuery(strSql.ToString(), parameters);
} public static List<company> SelectTop5(string type)
{ //asp.net SqlParameter关于Like的传参数无效问题问题在于Sql给参数自动添加了单引号。实际上在Sql,将like的代码解析成为了like '%'type'%' ",所以要写成下面的形式
string sql = "select top 5 * from company where poss='通过' and type like @type order by createtime desc";
string seach = "%"+type+"%";
SqlDataReader reader = DBHelper.ExecuteReader(sql, new SqlParameter("@type",ObjToStr(seach)));
。。。。。。。。。。。。。。。。。。。
}
C# SQL增删查改的更多相关文章
- SQL增删查改语句
一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> insert into sheet1 va ...
- SQL增删查改注意的事项
一.新增 1.增加的时候,bit字段要用“0,1”表示false,和true: 2.时间字段,用单引号包括,里面要遵循基本时间格式: 3,不能为标识列(自动编号列)插入数据(特殊情况下:set ide ...
- sql增删查改
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 常用SQL语句(增删查改、合并统计、模糊搜索)
转自:http://www.cnblogs.com/ljianhui/archive/2012/08/13/2695906.html 常用SQL语句 首行当然是最基本的增删查改啦,其中最重要的是查. ...
- Sql Server的艺术(一) 视图的增删查改
视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...
- SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于数据增删查改的操作的详解(案例代码)-DML 1.SQL INSERT INTO 语句(在表中插入) INSERT INTO 语句用于向表中插入新记录. SQL I ...
- SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)
SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE tabl ...
- EF各版本增删查改及执行Sql语句
自从我开始使用Visual Studio 也已经经历了好几个版本了,而且这中间EF等框架的改变也算是比较多的.本篇文章记录下各个版本EF执行Sql语句和直接进行增删查改操作的区别,方便自己随时切换版本 ...
- EF增删查改加执行存储过程和sql语句,多种方法汇总
ActionUrl c = new ActionUrl() { ActionName="test", RequestUrl="/123/123", SubTim ...
随机推荐
- oracle:触发器,自治事务 trigger
create or replace trigger TRI_FC83_INSERT before insert ON FC83 FOR EACH ROW declare PRAGMA AUTONOMO ...
- No valid host was found. There are not enough hosts available
- Linux下多线程编程
一.为什么要引入线程? 使用多线程的理由之一是和进程相比,它是一种非常"节俭"的多任务操作方式.在Linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众多的数据表来维 ...
- CDbConnectionExt.php 23.2实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置
<?php /** * 实现数据库的主从分离,该类会维护多个数据库的配置:一个主数据库配置,多个从数据库的配置. * 具体使用主数据库还是从数据库,使用如下规则: * 1.CDbComm ...
- npm命令大全
参考网站:https://docs.npmjs.com/ 有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. npm 常用命令 npm install <name ...
- 【风马一族_php】NO1_用php发出一声 Hi
原文来自:http://www.cnblogs.com/sows/p/5990157.html (博客园的)风马一族 侵犯版本,后果自负 第一步 安装WEB服务器 http://www.cnblog ...
- 【风马一族_xml】Schema--- xml的约束技术
Schema 是xml的约束技术,出现的目的是为了替代dtd 本身也是一个xml,非常方便使用xml的解析引擎进行解析 对名称空间有非常好的支持 支持更多的数据类型,并且支持用户自定义数据类型 可以进 ...
- Javascript中的一种深复制实现
在javascript中,所有的object变量之间的赋值都是传地址的,可能有同学会问哪些是object对象.举例子来说明可能会比较好: typeof(true) //"boolean&qu ...
- java Literals
Primitive Data Types The Java programming language is statically-typed, which means that all variabl ...
- SVN命令收集
1.检出 svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码 svn co svn://路径(目录或文件的全路径 ...