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.必要引用 ...
随机推荐
- Asp.net button防止点击多次数据提交
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat= ...
- hdoj--3592--World Exhibition(差分约束)
World Exhibition Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- [jzoj 5926] [NOIP2018模拟10.25] naive 的图 解题报告(kruskal重构树+二维数点)
题目链接: https://jzoj.net/senior/#main/show/5926 题目: 题解: 显然最小的最大路径在最小生成树上(最小生成树=最小瓶颈生成树) 于是我们建出kruskal重 ...
- 三个获取浏览器URL中参数值的方法
这三个是一般的获取浏览器传的参数值的方法,之前有用unescape()解码的方法,但是遇到汉字会产生乱码,所以用decodeURI(); 方法一: function getQueryString(na ...
- (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读 ...
- 51nod 1435 位数阶乘 (手动计算)
题目: 1435 位数阶乘 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 X是一个n位数的正整数 (x=a0a1...an−1) ...
- 转:利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
http://blog.csdn.net/rav009/article/details/50723307 T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml ...
- 【原创】Google的文本内容对比代码
/* * Diff Match and Patch * * Copyright 2006 Google Inc. * http://code.google.com/p/google-diff-matc ...
- Struts1、Struts2、Hibernate、Spring框架工作原理介绍
Struts1工作原理 Struts1工作原理图 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控 ...
- swift语言点评八-枚举
总结:swift中的枚举可以看作变量可以作为case匹配参数的类 Enumerations 枚举的作用:状态列举与匹配 枚举值与类型 If a value (known as a “raw” valu ...