zoukankan      html  css  js  c++  java
  • C# ADO基础 SqlHelper

     class SqlHelper

        {

    //这个是将连接数据库的字符串写到配置文件中的

            private static string connStr = ConfigurationManager.ConnectionStrings["dbConnStr"].ConnectionString;

    // 我们当然也可以这样写(string sql, SqlParameter[] parameters)不过这样的话每次调用即使没有参数也要写个空参数

    //用params 是可变参数,使用它时一定要放到最后面,这样编译器会先匹配前面的参数,还有对应的参数一定要是数组

            public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
            {
                using (SqlConnection conn = new SqlConnection(connStr))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = sql;
                        //foreach (SqlParameter param in parameters)
                        //{
                        //    cmd.Parameters.Add(param);
                        //}  
                        cmd.Parameters.AddRange(parameters);
                        return cmd.ExecuteNonQuery();
                    }
                }
            }
            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);
                        return cmd.ExecuteScalar();
                    }
                }
            }
            //改进一下上面的,因为返回的是一张表
            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];
                    }
                }

            }


    //我们就可以这样调用了

     private void button3_Click(object sender, RoutedEventArgs e)
            {
              // 没有使用params ...SqlHelper.ExecuteNonQuery("insert into admin(name,password,rank) values('kkeek','123456',1)",new  SqlParameter[0]);

    SqlHelper.ExecuteNonQuery("insert into admin(name,password,rank) values('kkeek','123456',1)");
            }


            private void button4_Click(object sender, RoutedEventArgs e)
            {
                DataTable ds = SqlHelper.ExecuteDataTable("select * from admin where  rank=@rank", new SqlParameter[] { new SqlParameter("@rank", 2)});
               foreach (DataRow row in ds.Rows) 
               {
                   string name = (string)row["name"];
                   MessageBox.Show(name);
               }
            }       

  • 相关阅读:
    ASP.NET- 查找Repeater控件中嵌套的控件
    Oracle- 表的管理
    Oracle- PL/SQL DEV工具的使用收集
    Oracle- PL/SQL DEV的远程配置
    Oracle- 提示查询结果不可更新,请使用...更新结果。
    Oracle- 存储过程和异常捕捉
    MSSQLSERVER数据库- SP_EXECUTESQL的使用
    Oracle- 用户管理
    Oracle- 初识
    c语言交换两个变量的值
  • 原文地址:https://www.cnblogs.com/james1207/p/3329016.html
Copyright © 2011-2022 走看看