zoukankan      html  css  js  c++  java
  • 数据库帮助类 SqlServerHelp

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Data;
      6 using System.Data.SqlClient;
      7 
      8 namespace WindowsFormsApplication1.DAL
      9 {
     10     /**
     11      * 实现对SqlServer的基本操作
     12      * 1.SqlConnection对象连接数据库;
     13      * 2.SqlCommand对象,负责SQL语句的执行和存储过程的调用,并获取三种返回模式
     14      * 3.执行存储过程,和带参数的存储过程
     15      * 4.执行带参数的sql语句
     16      */
     17     public class SqlServerHelp
     18     {
     19         //写在配置中:string ConnectionString = ConfigurationManager.ConnectionStrings["MyConnection"].ToString();
     20         //配置中的写法
     21         //<connectionStrings> 
     22         //  <add name="SqlConnection"  providerName="System.Data.SqlClient" connectionString="server=.;uid=sa;pwd=accp;database=pubs"/>
     23         //</connectionStrings>
     24         // 25         //<appSettings>
     26         //  <add name="SqlConnection"  providerName="System.Data.SqlClient" connectionString="server=.;uid=sa;pwd=accp;database=pubs"/>
     27         //</appSettings>
     28 
     29         //Sql 验证:string ConnectionString = "user id=sa;password=;initial catalog=northwind;datasource=localhost;connect Timeout=20";
     30         //Windows 身份验证:连接字符串:Data Source =数据库程序实例名,Initial Catalog=数据库名, Integrated Security=True 表示系统模式登录,不需要用户名密码,有最高权限
     31         static string ConnectionString = @"Data Source=DESKTOP-IF0RC4MSQL2012;Initial Catalog=mySqlServer;Integrated Security=True";
     32         //执行sql语句,返回一个值
     33         public static string GetStr() 
     34         {
     35             string val = "";
     36             //传入连接字符串连接
     37             SqlConnection con = new SqlConnection(ConnectionString);
     38             try 
     39             {
     40                 con.Open();
     41                 //传入sql语句和连接类
     42                 SqlCommand com = new SqlCommand("SELECT * FROM dbo.Table_1", con);
     43                 //返回一个值(第一行第一列)
     44                 val = com.ExecuteScalar().ToString();
     45                 con.Close(); //必须关闭,可以用USING方式写
     46             }
     47             catch 
     48             {
     49                 con.Close(); 
     50             }
     51             return val;
     52         }
     53         //执行sql语句,返回多行值
     54         public static DataTable GetRows()
     55         {
     56             DataTable dt = new DataTable();
     57             //传入连接字符串连接
     58             SqlConnection con = new SqlConnection(ConnectionString);
     59             try
     60             {
     61                 con.Open();
     62                 //传入sql语句和连接类
     63                 SqlCommand com = new SqlCommand("SELECT * FROM dbo.Table_1", con);
     64                 //返回一个值(第一行第一列)
     65                 SqlDataReader dr = com.ExecuteReader();
     66                 dt.Load(dr);//直接把结果放进TB表中
     67                 //while(dr.Read()) //返回ture表示能读取一行,表示读取全部行
     68                 //{
     69                 //    val = dr.GetString(0);//GetString(0)获取第一个字段的值
     70                 //}
     71 
     72                 //dr.Read();//执行读取一行,返回值是bool
     73                 //val = dr.GetString(0);
     74                 con.Close(); 
     75             }
     76             catch
     77             {
     78                 con.Close();
     79             }
     80             return dt;
     81         }
     82         //执行sql语句,返回返回一张表
     83         public static DataTable GetTable()
     84         {
     85             DataTable dt = new DataTable();
     86             //传入连接字符串连接
     87             SqlConnection con = new SqlConnection(ConnectionString);
     88             try
     89             {
     90                 con.Open();
     91                 //传入sql语句和连接类
     92                 //SqlCommand com = new SqlCommand("SELECT * FROM dbo.Table_1", con);
     93                 //SqlDataAdapter sda = new SqlDataAdapter(com);
     94                 //另一种写法
     95                 SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM dbo.Table_1", con);
     96                 sda.Fill(dt);
     97                 con.Close();
     98             }
     99             catch
    100             {
    101                 con.Close();
    102             }
    103             return dt;
    104         }
    105         //带参数的sql语句
    106         public static string SqlStr_parameters() 
    107         {
    108             string val = "";
    109             //传入连接字符串连接
    110             SqlConnection con = new SqlConnection(ConnectionString);
    111             try
    112             {
    113                 con.Open();
    114                 //传入sql语句和连接类
    115                 SqlCommand com = new SqlCommand("SELECT * FROM dbo.Table_1 WHERE a=@a", con); //特别注意的是,如果参数是字符串,在这里不能加'',
    116                 //写法一
    117                 //SqlParameter sp = new SqlParameter("@a",SqlDbType.Char,10); //创建参数实例
    118                 //sp.Value = "1";
    119                 //com.Parameters.Add(sp);
    120 
    121                 //写法一
    122                 //SqlParameter sp = new SqlParameter("@a",SqlDbType.Char,10){Value = "1"}; //创建参数实例
    123                 //com.Parameters.Add(sp);
    124 
    125                 //写法三(推荐)
    126                 SqlParameter sp = new SqlParameter("@a", "1");
    127                 sp.Value = "1";
    128                 com.Parameters.Add(sp);
    129 
    130                 //如果参数多的时候可以写成数组的形式
    131                 //SqlParameter[] sp1 =new SqlParameter[]{ new SqlParameter("@a", "1") };
    132                 //com.Parameters.AddRange(sp1);
    133 
    134                 //返回一个值(第一行第一列)
    135                 val = com.ExecuteScalar().ToString();
    136                 con.Close(); //必须关闭,可以用USING方式写
    137             }
    138             catch(Exception ea)
    139             {
    140                 con.Close();
    141             }
    142             return val;
    143         }
    144         //带参数的存储过程
    145         public static void Sql_procedure() 
    146         {
    147             string val = "";
    148             //传入连接字符串连接
    149             SqlConnection con = new SqlConnection(ConnectionString);
    150             try
    151             {
    152                 /*存储过程
    153                  * ALTER PROC usp_execSqlStr
    154                    @a CHAR(10)
    155                    AS
    156                    BEGIN
    157                      SELECT * FROM dbo.Table_1 WHERE a=@a
    158                    END
    159                  */
    160                 con.Open();
    161                 //传入sql语句和连接类
    162                 SqlCommand com = new SqlCommand("usp_execSqlStr", con); //特别注意的是,如果参数是字符串,在这里不能加'',
    163                 //com.CommandType = CommandType.Text; //表示sql语句
    164                 com.CommandType = CommandType.StoredProcedure ; //表示存储过程
    165                 SqlParameter sp = new SqlParameter("@a", "1");
    166                 com.Parameters.Add(sp);
    167                 val = com.ExecuteScalar().ToString(); //存储过程的执行和一般的sql语句的执行是一样的
    168                 con.Close(); //必须关闭,可以用USING方式写
    169             }
    170             catch (Exception ea)
    171             {
    172                 con.Close();
    173             }
    174         }
    175     }
    176 }
  • 相关阅读:
    两行文字,溢出隐藏,并显示省略号
    vue的操作:使用手机访问电脑的页面做法如下:
    width: calc(100%
    路由配置
    安装node.js 和 npm 的完整步骤
    懒加载图片轮播,总结完美可用
    Canvas 总结,到第4章 canvas图形变换
    封装表单自定义错误信息。(阻止默认错误信息提示,添加自定义错误信息提示)
    判断指定对象是否进入浏览器可视窗口,true 进入,false 没进入
    单张图片,多张图标为一个轮播对象的轮播图:按需加载 和 非按需加载
  • 原文地址:https://www.cnblogs.com/it-xcn/p/6098557.html
Copyright © 2011-2022 走看看