sql 的几种常用方法
第一个项目总结
基类:database:主要是定义有关数据库的方法:
1.打开数据库
public static void Open()
{ ( "server=.\\sqlexpress;database=Shengying;Intergrated Security=ture")
SqlConnection conn=new SqlConnection("server=.\\sqlexpress;database= SheYing;uid=sa;pwd=123456");
conn.OPen();
}
2.关闭数据库
public static void Close()
{
if(conn!=null)
{
conn.close();
conn.dispose();释放资源
}
}
3.打开数据库后,通过查询sql语句,或得数据,将数据放到DataTable表中,
public static DataTable GetDt(string strsql)
{
DataSet ds=new DataSet();DataSet是DataTable的集合
ds=GetDs(strsql);
if(ds.Tables.Count>0)
{
return ds.Table[0];
}
else
{
return null;
}
}
3.1 打开数据库后,通过查询sql语句,将数据放到DataSet表中
public static DataSet GetDs (string strsql)
{
DataSet ds=new DataSet();
Open();
SqlDataAdapte da=new SqlDataAdapte(strsql,conn);//通过适配器获取数据:1.sql语句2.打开数据库
da.Fill(ds);//将适配器获取数据获取的数据填充到DataSet;
Close();
return ds;//要返回ds里存储的数据
}
4.通过SQL语句返回SqlDataReader数据流///要调用SqlCommand
public static SqlDataReader GetSDR(string strsql)
{
Open();
SqlCommand com = new SqlCommand(strsql, conn);
sdr=com.ExecuteReader(system.Data.CommandBehavior.CloseConnection);
return sdr;s
}
5.通过SQL语句返回DataView??????????????????????????????
public static DataView GetDV(string strsql)
{
ds = new DataSet();
ds = GetDs(strsql);
if (ds.Tables.Count > 0)
{
return ds.Tables[0].DefaultView;
}
else
{
return null;
}
}
6.执行sql语句,看看是否执行sql语句执行成功,用到SqlCommand的调用ExecuteNonQuery()
public static bool BoolRunSQl(string sql)
{
OPen();
try
{
cmd=new SqlCommand(strsql,conn);
cmd.ExecuteNonQuery();
close();
retyrn ture;
}
else
{
return false;
}
}
7.执行一条SQL语句,返回所影响的行数
public static int intRunSQl(string strsql)
{
int strRun=0;
Open();
try
{
com=new SqlCommand(strsql,conn);
strRun=com.ExecuteNonQuery();
Close();
return strRun;
}
catch
{
return strRun;
}
}
8.返回第一行第一列的数据:comm.ExecuteScalar()
public static string strRunSQL(string strsql)
{
string strRun="";
Open();
try
{
com=new SqlCommand(strsql,conn);
strRun=com.ExecuteScalar().ToString();
Close();
return strRun;
}
catch
{
retyrn "";
}
}
-------------------------------------------------------------------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
/// <summary>
/// database 的摘要说明
/// </summary>
public class database
{
//声明6个
private static SqlConnection conn;
private static SqlDataAdapter da;//适配器
private static DataSet ds;//
private static DataTable dt;
private static SqlCommand comm;
private static SqlDataReader sdr;
public database()
{
//这是一个所有方法的类,打开(关闭)数据库
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 打开数据库连接
/// </summary>
private static void OPen()
{
//conn = new SqlConnection("server=.\\sqlexpress;database=ShenYing;integrated security=true");
conn = new SqlConnection("server=.\\sqlexpress;database= SheYing;uid=sa;pwd=123456");
conn.Open();
}
/// <summary>
/// 关闭数据库连接
/// </summary>
private static void Close()
{
if (conn != null)
{
//关闭
conn.Close();
conn.Dispose();//释放资源
}
}
/// <summary>
/// 通过SQL语句返回DataSet
/// </summary>
/// <param name="strsql">sql查询语句string</param>
/// <returns></returns>
private static DataSet GetDs(string strsql)
{
OPen();
da=new SqlDataAdapter (strsql,conn);
ds=new DataSet();
da.Fill(ds);
Close();
return ds;
}
/// <summary>
/// 通过SQL语句返回DataTable
/// </summary>
/// <param name="strsql">SQL查询语句string</param>
/// <returns></returns>
public static DataTable GetDt(string strsql)//通过生气了语句获取数据,放到DataTable里,然后放到DataSet中
{
ds = new DataSet();
ds = GetDs(strsql);
if (ds.Tables.Count > 0)
{
return ds.Tables[0];
}
else
{
return null;
}
}
/// <summary>
/// 通过SQL语句返回SqlDataReader
/// </summary>
/// <param name="sdr">SQL语句strin</param>
/// <returns></returns>
public static SqlDataReader GetSDR(string strsql)
{
OPen();
comm = new SqlCommand(strsql, conn);
sdr = comm.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return sdr;
}
/// <summary>
/// 通过SQL语句返回DataView
/// </summary>
/// <param name="strsql">SQL语句string</param>
/// <returns></returns>
public static DataView GetDV(string strsql)
{
ds = new DataSet();
ds = GetDs(strsql);
if (ds.Tables.Count > 0)
{
return ds.Tables[0].DefaultView;
}
else
{
return null;
}
}
/// <summary>
/// 执行SQL语句,返回是否执行成功bool
/// </summary>
/// <param name="strsql">SQL语句</param>
/// <returns></returns>
public static bool boolRunSQL(string strsql)
{
OPen();
try
{
//无错误返回True
comm=new SqlCommand(strsql,conn);
comm.ExecuteNonQuery();
Close();
return true;
}
catch (Exception)
{
//有错误时返回false
return false;
}
}
/// <summary>
/// 执行一条SQL语句,返回所影响的行数
/// </summary>
/// <param name="strsql"></param>
public static int intRunSQL(string strsql)
{
int strRun =0;
OPen();
try
{
comm = new SqlCommand(strsql, conn);
strRun = comm.ExecuteNonQuery();
Close();
return strRun;
}
catch
{
return strRun;
}
}
/// <summary>
/// 返回第一行第一列的数据
/// </summary>
/// <param name="strsql"></param>
/// <returns></returns>
public static string strRunSQL(string strsql)
{
string strRun = "";
OPen();
try
{
comm = new SqlCommand(strsql, conn);
strRun=comm.ExecuteScalar().ToString();
Close();
return strRun;
}
catch
{
return "";
}
}
}
sql 的几种常用方法的更多相关文章
- 提高SQL查询效率的常用方法
提高SQL查询效率的常用方法 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driv ...
- Java中从控制台输入数据的几种常用方法
Java中从控制台输入数据的几种常用方法 一.使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in ...
- jQuery验证元素是否为空的两种常用方法
这篇文章主要介绍了jQuery验证元素是否为空的两种常用方法,实例分析了两种常用的判断为空技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了jQuery验证元素是否为空的两种常用方法.分享给 ...
- 在Quartus II中分配管脚的两种常用方法
在Quartus II中分配管脚的两种常用方法 示范程序 seg7_test.v 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* * ...
- NSString的几种常用方法
NSString的几种常用方法 要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByRe ...
- Java更新XML的四种常用方法简介
本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for X ...
- SQL的四种语言和数据库范式
1. SQL的四种语言 DDL(Data Definition Language)数据库定义语言 CREATE ALTER DROP TRUNCATE COMMENT RENAME DML(Data ...
- vue——props的两种常用方法
vue--props的两种常用方法 1.实现父-->子的通信 举例如下: 父组件 parent.vue <children :channel="object1"> ...
- C#程序实现软件开机自动启动的两种常用方法
C#/WPF/WinForm/.NET程序代码实现软件程序开机自动启动的两种常用方法函数的示例与实例带详细注释 方法一:将软件的快捷方式创建到计算机的自动启动目录下(不需要管理员权限) 1.必要引用 ...
随机推荐
- Testbench代码设计技巧
Testbench代码设计技巧 " There are many ways " to code a test case, it all depens on the creativi ...
- linux 终端提示符
默认的当路径一长就难看得出奇. 我的设置: export PS1="|\W$>\[\e[0m\]" 最后效果就是|目录名$> 参考:https://www.cnblog ...
- Synergy 共享键盘和鼠标
直接安装Synergy 不行的话加配置文件 ➜ ~ cat synergy.conf section: screens lab712-PC: ckboss-HP: end section: links ...
- awesome python 中文版 相见恨晚!(pythonNB的第三方资源库)
Awesome Python中文版来啦! 原文链接:Python 资源大全 内容包括:Web框架.网络爬虫.网络内容提取.模板引擎.数据库.数据可视化.图片处理.文本处理.自然语言处理.机器学习.日志 ...
- Kettle的四大不同环境工具
不多说,直接上干货! kettle里有不同工具,分别用于ETL的不同阶段. 初学者,建议送Spoon开始.高手,是四大工具都会用. Sqoop: 图形界面工具,快速设计和维护复杂的ETL工作流.集成开 ...
- calender怎么获取每周的周日(给每周的周日特定时间点设置定时)
获取每周的周日 //如果是周日,特殊处理.老外的周日-周六为一周 calendarTemp.add(Calendar.WEEK_OF_MONTH,1); calendarTemp.set(Calend ...
- spm 捕获
目录 自动捕获 从library cache 中加载 从SQL 调优级加载 1.自动捕获 当optimizer_capture_sql_plan_baselines参数设置为TRUE,查询优化器自动存 ...
- 终于意识到BIM确实火了
碰巧遇到一个BIM会议.一大帮国内的老师桠桠叉叉坐了一大屋.听了半天感觉都是在吹BIM如何火.第一次听到这个概念感觉这个能火吗. 昨天雄安新区用BIM建设的新闻出来后,一下子惊了.看来BIM进入计算机 ...
- 51nod 1562 玻璃切割 (STL map+一点点的思考)
1562 玻璃切割 题目来源: CodeForces 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 现在有一块玻璃,是长方形的(w 毫米× h 毫米),现在要 ...
- watch监听
watch: { getTitle:{ handler:function(val,oldval){ }, deep:true//对象内部的属性监听,也叫深度监听 }, },