调用自定义SQLHelper示例

12 篇文章 0 订阅
 using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02SQLHelperC
{
    class Program
    {
        static void Main(string[] args)
        {
            // 对数据库的增删改查
            //创建表
            #region 创建表
            //string sql = "create table Test06(id int not null,name nvarchar(10),pwd varchar(10)";
            //int res = GBYLibrary.SQLHelper.ExecuteNonQuary(sql);
            //Console.WriteLine(res);
            #endregion


            // 插入数据
            #region 无参数,增加数据 插入数据
            //string sql = "insert into Test0806(id, name, pwd) values(1, N'赵晓虎', 'TigerZhao');";//N表示unicode编码,nvarchar输入中文必须带N,否则会变问号
            //int res = GBYLibrary.SQLHelper.ExecuteNonQuery(sql);
            //Console.WriteLine(res);

            //string sql = "insert into Test0806(id, name, pwd) values(1, N'牛亮亮', 'niuniu');";
            //int res = GBYLibrary.SQLHelper.ExecuteNonQuery(sql);
            //Console.WriteLine(res);

            #endregion

            #region 参数化增加
            //string sql = "insert into Test0806(id, name, pwd) values(@id, @name, @pwd);";
            //SqlParameter[] ps = {
            //                        new SqlParameter("@id", (object)2),
            //                        new SqlParameter("@name", "赵剑宇"),
            //// new SqlParameter("@name", System.Data.SqlDbType.NVarChar, 10) { Value = "赵剑宇" },
            //                        new SqlParameter("@pwd", "happyZhao") 
            //                    };
            //int res = GBYLibrary.SQLHelper.ExecuteNonQuery(sql, ps);
            //Console.WriteLine(res); 
            #endregion

            // 修改
            #region 参数化修改
            //string sql = "update test0806 set name=@name where id=@id;";
            //SqlParameter[] ps = {
            //                        new SqlParameter("@name", "赵黑皮"),
            //                        new SqlParameter("@id", (object)2)
            //                    };
            //int res = GBYLibrary.SQLHelper.ExecuteNonQuery(sql, ps);

            #endregion


            // 删除
            #region 删除
            //string sql = "delete from test0806 where name=@name";
            //SqlParameter pName = new SqlParameter("@name", "赵晓虎");
            //int count = GBYLibrary.SQLHelper.ExecuteNonQuery(sql, pName);
            //Console.WriteLine(count);

            #endregion

            // 查询姓赵的人多少个?
            #region Scalar
            //string sql = "select count(*) from test0806 where name like @name;";
            //SqlParameter pName = new SqlParameter("@name", "赵%");
            //int count = (int)GBYLibrary.SQLHelper.ExecuteScalar(sql, pName);
            //Console.WriteLine(count); 
            #endregion


            // 读取数据
            #region 读取数据
            //using (SqlDataReader reader = GBYLibrary.SQLHelper.ExecuteReader("select * from Test0806;"))
            //{
            //    while (reader.Read())
            //    {
            //        List<string> list = new List<string>();
            //        for (int i = 0; i < reader.FieldCount; i++)
            //        {
            //            list.Add(reader[i].ToString());
            //        }

            //        Console.WriteLine(string.Join("," , list));
            //    }

            //    // 这里怎么释放呢?
            //} 
            #endregion


            //导出数据库到文本文件
            string sql = "select * from TestDataBase..Student;";
            using (StreamWriter writer = new StreamWriter("s.txt", true, Encoding.Default))
            {
                using (SqlDataReader reader = GBYLibrary.SQLHelper.ExecuteReader(sql))
                {
                    List<string> list = new List<string>();
                    while (reader.Read())
                    {
                        list.Clear();
                        for (int i = 0; i < reader.FieldCount; i++)
                        {
                            list.Add(reader[i].ToString());
                        }
                        writer.WriteLine(string.Join(",", list));
                    }

                }
            }

            Console.WriteLine("OK");
            Console.ReadKey();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SqlHelper源码及使用实例下载 SqlHelper 类实现详细信息 SqlHelper 类用于通过一组静态方法来封装数据访问功能。该类不能被继承或实例化,因此将其声明为包含专用构造函数的不可继承类。 在 SqlHelper 类中实现的每种方法都提供了一组一致的重载。这提供了一种很好的使用 SqlHelper 类来执行命令的模式,同时为开发人员选择访问数据的方式提供了必要的灵活性。每种方法的重载都支持不同的方法参数,因此开发人员可以确定传递连接、事务和参数信息的方式。在 SqlHelper 类中实现的方法包括: ExecuteNonQuery。此方法用于执行不返回任何行或值的命令。这些命令通常用于执行数据库更新,但也可用于返回存储过程的输出参数。 ExecuteReader。此方法用于返回 SqlDataReader 对象,该对象包含由某一命令返回的结果集。 ExecuteDataset。此方法返回 DataSet 对象,该对象包含由某一命令返回的结果集。 ExecuteScalar。此方法返回一个值。该值始终是该命令返回的第一行的第一列。 ExecuteXmlReader。此方法返回 FOR XML 查询的 XML 片段。 除了这些公共方法外,SqlHelper 类还包含一些专用函数,用于管理参数和准备要执行的命令。不管客户端调用什么样的方法实现,所有命令都通过 SqlCommand 对象来执行。在 SqlCommand 对象能够被执行之前,所有参数都必须添加到 Parameters 集合中,并且必须正确设置 Connection、CommandType、CommandText 和 Transaction 属性。SqlHelper 类中的专用函数主要用于提供一种一致的方式,以便向 SQL Server 数据库发出命令,而不考虑客户端应用程序调用的重载方法实现。SqlHelper 类中的专用实用程序函数包括: SqlHelper是非常方便的数据库操作函数,功能强大,使用起来非常简单,免去很多复杂的数据库操作的代码,在多层应用及面向对象开发中都有很多应用 SqlHelper源码带有详细的说明,示例中有原始的示例Sql语句 主要包括以下操作: 简单SQL语句(ExcuteSql) 带参数的简单SQL语句(ExcuteSQLParm) 简单存储过程 (ExcuteProc) 带参数的存储过程(ExcuteProcParm) 只返回一个字段 (ExcuteScalar) 返回数据集(ExcuteReader) 数据库中有示例数据及存储过程updateTable\updateTableByParm,大家可以自行修改测试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值