zoukankan      html  css  js  c++  java
  • !!!SqlHelper 传智!

    DataSet离线数据集  
    一般查询调用就用DataSet 将SQLserver数据库查询数据储存在vs操作内存中随时用随时遍历 以防做项目时突然与数据库断开连接,操作受限数据丢失带来的麻烦 若数据确实很大我们则用SqlDataReader dr=cmd.ExcuteReader() using (SqlConnection conn = new SqlConnection(@"server=PC-20150619EMUEasb;Database=test;user=ewrw;pwd=463828")) { conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { cmd.CommandText = "select*from youdao where pwd=@pwd"; cmd.Parameters.Add(new SqlParameter("@pwd", txt.Text)); SqlDataAdapter adapter = new SqlDataAdapter(cmd); DataSet dataset = new DataSet(); adapter.Fill(dataset); DataTable table = dataset.Tables[0]; DataRowCollection rows = table.Rows; for (int i = 0; i < rows.Count; i++) { DataRow row = rows[i]; int Age = (int)row["age"]; string name = (string)row["name"]; } } }

     

     SqlHelper类建立绑定数据库 增删改查

     

    步骤:

    一,右键项目--新建项--添加App.config应用配置文件  以便项目以后客户联接别的服务器数据库好更改

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <connectionStrings>
        <add name="dbConnstr"  connectionString="server=.;Database=test;user=sa;pwd=32"/>
      </connectionStrings>
    </configuration>
    

      

    二,右键引用  --添加引用  System.Configuration   

    三,

          /// <summary>
          /// 使用长度可变参数来简化    
          /// </summary>
          /// <param name="sql"></param>
          /// <param name="parameters"></param>
          /// <returns></returns>

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;

    namespace WpfApplication2
    {
    class SqlHelper
    {//调用APP.config配置文件中客户需要连接的数据库字符串
    private static string connStr = ConfigurationManager.ConnectionStrings["dbconnstr"].ConnectionString;

    //封装数据的原则 把不变的写到方法里,把变化的放到参数中

    // 增删改的操作
    public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
    {
    using (SqlConnection conn = new SqlConnection(connStr))//建立数据库联接 using释放空间
    {
    conn.Open();
    using (SqlCommand cmd = conn.CreateCommand())//创建操作数据库的命令
    {
    cmd.CommandText = sql;
    cmd.Parameters.AddRange(parameters);
    return cmd.ExecuteNonQuery();//执行操作的命令
    }
    }

    }
    // 查询返回一条结果的操作 如Count(*) ,sum()等..
    public static object ExecuteScalar(string sql, params SqlParameter[] parameters)
    {
    using (SqlConnection conn = new SqlConnection(connStr))
    {
    conn.Open();
    using (SqlCommand cmd = conn.CreateCommand())
    {
    cmd.CommandText = sql;
    cmd.Parameters.AddRange(parameters); // foreach(SqlParameter param in parameters)
                                                            //{
                                                            // cmd.Parameters.Add(param);
                                                            // }

    return cmd.ExecuteScalar();
    }
    }

    }
    // DataSet离线查询结果返回表结构操作: 一般项目操作里面只有一个表所以直接返回一个表更方便
    public static DataTable ExecuteDataTable(string sql, params SqlParameter[] parameters)
    {
    using (SqlConnection conn = new SqlConnection(connStr))
    {
    conn.Open();
    using (SqlCommand cmd = conn.CreateCommand())
    {
    cmd.CommandText = sql;
    cmd.Parameters.AddRange(parameters);
    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    DataSet dataset = new DataSet();
    adapter.Fill(dataset);
    return dataset.Tables[0];
    }
    }

    }
    //DateSet 完整封装方式:
    //public static DataSet ExecuteDataSet(string sql,params SqlParameter[] parameters)
    //{using (SqlConnection conn=new SqlConnection(connStr))
    // {
    // conn.Open();
    // using(SqlCommand cmd=conn.CreateCommand())
    // {
    // cmd.CommandText=sql;
    // cmd.Parameters.AddRange(parameters);
    // SqlDataAdapter adapter=new SqlDataAdapter(cmd);
    // DataSet dataset=new DataSet();
    // adapter.Fill(dataset);
    // return dataset;
    // }
    // }
    //}


    ////ExcuteReader 大数据联接数据库查询
    //public static SqlDataReader ExcuteReader(string sql, params SqlParameter[] parameters)
    //{
    // using (SqlConnection conn = new SqlConnection(connStr))
    // {
    // conn.Open();
    // using (SqlCommand cmd = conn.CreateCommand())
    // {
    // cmd.CommandText = sql;
    // cmd.Parameters.AddRange(parameters);

    // return cmd.ExecuteReader();
    // }
    // }

    //}
    }
    }

    主页面后台  如何调用SqlHelper类??

      private void Button_Click_2(object sender, RoutedEventArgs e)
            {
               SqlHelper.ExecuteNonQuery("insert into youdao(,,) values(@user,@pwd)",new SqlParameter[]{new SqlParameter("@user",500),new SqlParameter("@pwd","cdascas")});
                DataTable table=SqlHelper.ExecuteDataTable("select*from youdao where user=@user,pwd=@pwd", new SqlParameter[] { new SqlParameter("@user", 500), new SqlParameter("@pwd", "cdascas") });
    /*..............................................................................................................................*/


    //长度可变参数来简化后调用 不用传数组new SqlParameters[],只传对象即可 DataTable table = SqlHelper.ExecuteDataTable("select*from youdao where user=@user,pwd=@pwd",new SqlParameter("@user", 500), new SqlParameter("@pwd", "cdascas") ); foreach(DataRow row in table.Rows) { string user = (string)row["user"]; }
    DataSet dataset = SqlHelper.ExecuteDataSet("select*from youdao where user=@user,pwd=@pwd", new SqlParameter[] { new SqlParameter("@user", 500), new SqlParameter("@pwd", "cdascas") }); foreach (DataRow row in table.Tables[0].Rows) { string user = (string)row["user"]; } }

      

    内容参要:http://net.itheima.com

                    http://net.itcast.cn

  • 相关阅读:
    vue 富文本编译器 vue-quill-editor
    vue-拖拽的使用awe-dnd
    Dapper是什么?
    如何运用领域驱动设计
    面试官问我MySQL索引,我
    MySQL:你知道什么是覆盖索引吗?
    mysql覆盖索引与回表
    C#.NET 字符串转数组,数组转字符串
    MYSQL如何让主键使用BTREE索引
    MySQL大表优化方案 Mysql的row_format(fixed与dynamic)
  • 原文地址:https://www.cnblogs.com/ROCKyou/p/4991725.html
Copyright © 2011-2022 走看看