初学SqlHelper - 实现增删改查
//数据库连接字符串
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 - 实现增删改查的更多相关文章
- sqlHelper做增删改查,SQL注入处理,存储值,cookie,session
一.存储值 eg:登录一个页面,在进入这个页面之前你怎么知道它登没登录呢?[在登录成功之后我们把状态保存起来] 存储值得方式有两种,一种是cookie,一种是session 1.1区别: 代码: if ...
- sqlHelper的增删改查
当一件事情被反复做了多次后.会想找一种办法来取代自己去做这个反复的动作. 敲代码也一样. 在程序中.对于反复的部分.假设是全然同样,那我们就会想着将其写成一个方法(过程.函数),放在一个具有权限的需求 ...
- sqlHelper做增删改查
1.把数据库里面的数据显示出来 sqlHelper怎么用:[网上可以下载,需要可以找楼主要] 1.拷贝到项目,修改它的命名空间等于当前项目名称 2.数据库的连接信息,用户名,密码,登录方式等 < ...
- 求亲篇:数据库操作,SqlHelper,增删改查
1.利用SqlHelper类 2.简单的数据绑定输出 string strSql = "select * from login"; DataTable dt = SqlHelper ...
- webapi初学项目(增删改查)
初学wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: ...
- sqlhelper sqlparameter 实现增删改查
这是sqlHelper.cs类,类内里封装了方法 using System; using System.Collections.Generic; using System.Linq; using Sy ...
- SqlHelper 增删改查
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...
- NHibernate初学一之简单增删改查
以前有简单了解NHibernate,但因项目一直没有运用所以也没有机会进行一个详细了解:最近利用一点空闲的时间认真学习它:同样希望把学习过程进行简单记录,今天简单写一个针对MSSQL数据库的增删改查的 ...
- webapi初学项目(增删改查),webapi增删
wenapi做了一个从数据库增删改查的项目 webapi: 1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路 ...
随机推荐
- 手动创建spring项目(maven/IDEA环境)
1.创建maven项目 按照步骤一步一步来 创建项目 这里选择maven的模板 设置包名 设置项目的maven的配置信息.maven仓库路径(会从maven配置文件中获取) 这里设置项目名.项目保存路 ...
- 洛谷P4015 运输问题(费用流)
传送门 源点向仓库连费用$0$,流量为储量的边,商店向汇点连费用$0$,流量为需求的边,然后仓库向商店连流量$inf$,费用对应的边,跑个费用流即可 //minamoto #include<io ...
- 在执行 Database.SqlQuery Method (String, Object[]) 执行中出现错误
执行类似于 var params = new SqlParameter[]{--}; Database.SqlQuery<Type>(sql1,params); Dat ...
- 本地localhost:端口号(自己设置的Apache的端口号)打不开问题解决了!开心、哭泣
想不来自己有多蠢!历经4个月再没学,刚开始xampp的端口问题解决不了,系统竟然会自动改回去端口数据(哭晕) 后来一直显示Apache端口80占用,各种百度之后发现单纯浏览器都访问不了localhos ...
- 解压与压缩(把dataset转为string、、 )
/// <summary> /// 压缩 解压 /// </summary> public class ZipHelper { #region 压缩解缩 /// <sum ...
- js时间对比-转化为几天前,几小时前,几分钟前
function getDateDiff(dateTimeStamp){ var minute = 1000 * 60; var hour = minute * 60; var day = hour ...
- 教你搭建SpringSecurity3框架(附源码)
源码下载地址:http://pan.baidu.com/s/1qWsgIg0 一.web.xml <?xml version="1.0" encoding="UTF ...
- ZOJ - 3624
当A连向C,B连向D时存在相交路径 #include<bits/stdc++.h> #define rep(i,j,k) for(int i=j;i<=k;i++) #define ...
- scrapy框架的另一种分页处理以及mongodb的持久化储存以及from_crawler类方法的使用
一.scrapy框架处理 1.分页处理 以爬取亚马逊为例 爬虫文件.py # -*- coding: utf-8 -*- import scrapy from Amazon.items import ...
- 转 Monitoring Restore/Recovery Progress
ora-279 是可以忽略的报错 In general, a restore should take approximately the same time as a backup, if not l ...