//数据库连接字符串
public static readonly string constr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString; //打开数据库
public static SqlConnection OpenConnection()
{
SqlConnection conn = new SqlConnection(constr);
conn.Open();
return conn;
} //执行不返回结果的sql,用于插入和更新,删除
public static int ExecuteNonQuery(string cmdText, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
return ExecuteNonQuery(conn, cmdText, parameters);
}
} //上面方法的重载方法
public static int ExecuteNonQuery(SqlConnection conn, string cmdText, params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
} //返回对象类型的sql查询,对象单个数据记录的中的某个值,或者count(*)计算的结果,在分页中会经常用到。
public static object ExecuteScalar(string cmdText, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
return ExecuteScalar(conn, cmdText, parameters);
}
} //以上方法的重载方法
public static object ExecuteScalar(SqlConnection conn, string cmdText, params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteScalar();
}
} //获得数据表格的查询
public static DataTable ExecuteDataTable(string cmdText, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
return ExecuteDataTable(conn, cmdText, parameters);
}
} //以上方法的重载
public static DataTable ExecuteDataTable(SqlConnection conn, string cmdText, params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
}
}

- SqlHelper

 /// <summary>
/// 查询表中总记录
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public async Task<ActionResult> ScalarData(ContactModel data)
{
string sql = "select count(*) from Contact";
var DataSource = SqlHelper.ExecuteScalar(sql);
return ReturnJson(new ResponseModel("", "成功", "共有记录"+DataSource.ToString()+"条"));
}
/// <summary>
/// 分页查询表中数据
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public async Task<ActionResult> SelectPageData(ContactModel data)
{
int pageindex = data.pageindex;
int pagesize = data.pagesize;
string sql = "select top " + pagesize + " * from Contact where id not in (select top (" + pagesize * (pageindex - ) + ") id from Contact)";
var DataSource = SqlHelper.ExecuteDataTable(sql);
string JsonString = string.Empty;
JsonString = JsonConvert.SerializeObject(DataSource);
return ReturnJson(new ResponseModel("", "成功", JsonString));
}
/// <summary>
/// 查询表中所有数据
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public async Task<ActionResult> SelectData(ContactModel data)
{
string sql = "select * from Contact";
//string sql = "select * from Contact where Name=ISNULL('" + data.name + "',Name)";
var DataSource = SqlHelper.ExecuteDataTable(sql); //string sql = "select * from Contact where Name=ISNULL(@Name,Name)";
//var DataSource = SqlHelper.ExecuteDataTable(sql, new SqlParameter("@Name", data.name));
string JsonString = string.Empty;
JsonString = JsonConvert.SerializeObject(DataSource);
return ReturnJson(new ResponseModel("","成功", JsonString));
}
/// <summary>
/// 在表中插入一条新的数据
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public async Task<ActionResult> InsertData(ContactModel data)
{
//string sql = "INSERT INTO Contact VALUES ('"+ data.name+"','"+data.enrollmentDate+"')";
string sql = "INSERT INTO Contact VALUES (@name, @enrollmentDate)";
SqlParameter[] param = new SqlParameter[] {
new SqlParameter("@name",data.name),
new SqlParameter("@enrollmentDate",data.enrollmentDate),
};
var DataSource = SqlHelper.ExecuteNonQuery(sql, param);
if (DataSource == )
{
return ReturnJson(new ResponseModel("", "成功", ""));
}
return ReturnJson(new ResponseModel("", "处理失败", ""));
}
/// <summary>
/// 根据id修改表中的数据
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public async Task<ActionResult> UpdateData(ContactModel data)
{
if (data.id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
//string sql = "UPDATE Contact SET Name = '"+ data.name + "',EnrollmentDate = '" + data.enrollmentDate + "' WHERE ID = " + data.id;
string sql = "UPDATE Contact SET Name = @name , EnrollmentDate = @enrollmentDate WHERE ID = @id";
SqlParameter[] param = new SqlParameter[] {
new SqlParameter("@id",data.id),
new SqlParameter("@name",data.name),
new SqlParameter("@enrollmentDate",data.enrollmentDate),
};
var DataSource = SqlHelper.ExecuteNonQuery(sql, param);
if (DataSource == )
{
return ReturnJson(new ResponseModel("", "成功", ""));
}
return ReturnJson(new ResponseModel("", "处理失败", ""));
}
/// <summary>
/// 根据id删除表中的数据
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
public async Task<ActionResult> DeleteData(ContactModel data)
{
string sql = "DELETE FROM Contact WHERE ID = @id";
SqlParameter[] param = new SqlParameter[] {
new SqlParameter("@id",data.id)
};
var DataSource = SqlHelper.ExecuteNonQuery(sql, param);
if (DataSource == )
{
return ReturnJson(new ResponseModel("", "成功", ""));
}
return ReturnJson(new ResponseModel("", "处理失败", ""));
} public JsonResult ReturnJson(ResponseModel response)
{
return this.Json(response, JsonRequestBehavior.AllowGet);
}
  public class ContactModel
{
public int id { get; set; }
public string name { get; set; }
public string enrollmentDate { get; set; }
public int pageindex { get; set; }
public int pagesize { get; set; }
}

初学SqlHelper - 实现增删改查的更多相关文章

  1. sqlHelper做增删改查,SQL注入处理,存储值,cookie,session

    一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...

  2. sqlHelper的增删改查

    当一件事情被反复做了多次后.会想找一种办法来取代自己去做这个反复的动作. 敲代码也一样. 在程序中.对于反复的部分.假设是全然同样,那我们就会想着将其写成一个方法(过程.函数),放在一个具有权限的需求 ...

  3. sqlHelper做增删改查

    1.把数据库里面的数据显示出来 sqlHelper怎么用:[网上可以下载,需要可以找楼主要] 1.拷贝到项目,修改它的命名空间等于当前项目名称 2.数据库的连接信息,用户名,密码,登录方式等 < ...

  4. 求亲篇:数据库操作,SqlHelper,增删改查

    1.利用SqlHelper类 2.简单的数据绑定输出 string strSql = "select * from login"; DataTable dt = SqlHelper ...

  5. webapi初学项目(增删改查)

    初学wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: ...

  6. sqlhelper sqlparameter 实现增删改查

    这是sqlHelper.cs类,类内里封装了方法 using System; using System.Collections.Generic; using System.Linq; using Sy ...

  7. SqlHelper 增删改查

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  8. NHibernate初学一之简单增删改查

    以前有简单了解NHibernate,但因项目一直没有运用所以也没有机会进行一个详细了解:最近利用一点空闲的时间认真学习它:同样希望把学习过程进行简单记录,今天简单写一个针对MSSQL数据库的增删改查的 ...

  9. webapi初学项目(增删改查),webapi增删

    wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路 ...

随机推荐

  1. luoguP3302 [SDOI2013]森林

    https://www.luogu.org/problemnew/show/P3302 看到查询第 k 小,而且是一颗树,可以联想到在树上的主席树,a 和 b 路径中第 k 小可以通过在 a, b, ...

  2. JS编程模式之初始化分支与惰性初始

    不同的浏览器对于相同或相似的方法可能有不同的实现.这时,您需要依据当前的浏览器的支持方法来选择对应的执行分支.这类分支有可能与很多,因此可能会减缓脚本的执行速度.但非要等到运行时才能分支吗?我们完全可 ...

  3. MyBatis配置文件的配置说明

    Properties 1.创建一个资源文件jdbc.properties: jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc.url= ...

  4. js去重方法

    function remove(array){ var obj={}; newarray=[]; for(var i in array){ console.log(i); var arg=array[ ...

  5. selenium定位元素提示‘元素不可见’问题解决方法

    最近在使用selenium的过程中发现有元素能够在页面中查找到,但是pycharm中运行时始终报错element not visible,于是使用如下方法成功解决问题. 1.driver.find_e ...

  6. SLAM入门必收藏的资料

    搜集了各大网络,请教了SLAM大神,终于把SLAM的入门资料搜集全了!在分享资料前,我们先来看看,SLAM技术入门前需要具备哪些知识?首先学习SLAM需要会C和C++,网上很多代码还用了11标准的C+ ...

  7. Qt 学习之路 2(29):绘制设备

    Qt 学习之路 2(29):绘制设备 豆子 2012年12月3日 Qt 学习之路 2 28条评论 绘图设备是继承QPainterDevice的类.QPaintDevice就是能够进行绘制的类,也就是说 ...

  8. js 随机数组

    生成指定num-start 个数组长度,值为start---num 的随机数组,不包括num这个值 function rand_arr(num,start) { // 验证值 if(!argument ...

  9. javascript 中typeOf

    JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据. typeof 可以用来检测给定变量的数据类型,可能的返回值: 1. 'undefined' --- 这个值未定义: 2. 'bool ...

  10. [转] 利用js实现 禁用浏览器后退

    [From] http://blog.csdn.net/zc474235918/article/details/53138553 现在很多的内部系统,一些界面,都是用户手动点击退出按钮的.但是为了避免 ...