DBHelper类的编写

用sql语句来修改sa用户的登陆密码

分类:C#重要代码

方法1不要旧密码:

alter login sa with password='sa'
go

方法2:

exec sp_password  null, 'cw'
go

方法3:
windows验证登陆进入后,在登陆名下的sa属性里面直接可以改

登陆不进去,错误223,1845的解决办法

两个地方加重启

1服务器属性-安全性-sql server和windows身份验证模式

2登陆名下的sa属性-状态-登陆-启用

3然后把mssql server服务重启一下重要!!

2010.11.19 14:23 作者:chenwei 引用:0 | 收藏 | 评论:0

qq窗体抖动代码

分类:C#重要代码

            Random ran = new Random((int)DateTime.Now.Ticks);
            Point point = this.Location;
            for (int i = 0; i < 40; i )
            {
                this.Location = new Point(point.X ran.Next(8) - 4, point.Y ran.Next(8) - 4);
                System.Threading.Thread.Sleep(15);
                this.Location = point;
            }

2010.11.19 14:20 作者:chenwei 引用:0 | 收藏 | 评论:0

DBHelper类的编写

分类:C#编程

    public class DBHelper
    {
        //连接字符串,引用自app.config
        private static string connStr = ConfigurationSettings.AppSettings["CONNSTR"];
        static SqlConnection con;
        static SqlCommand cmd;

        public static void OpenDatabase()
        {
            con = new SqlConnection(connStr);
           if(con.State!=ConnectionSatte.OPen)
            con.Open();
        }

        private static void PrepareCmd(string strCmd, CommandType type, SqlParameter[] parms)
        {
            cmd = new SqlCommand();
            OpenDatabase();
            cmd.Connection = con;
            cmd.CommandType = type;
            cmd.CommandText = strCmd;
            if (parms != null)
            //cmd.Parameters.AddRange(parms));
            {
                foreach (SqlParameter sp in parms)
                {
                    if (sp != null)
                    {
                        cmd.Parameters.Add(sp);
                    }
                }
            }
        }

             *
             有连接的查询,他的connection对象是常打开的,要通过dataReader的read方法向数据库请求数据,
             * 也就是,每次用read方法他就找数据库 要一条数据,它是一种只进流的形式读取,每次都是往下读取,
             * 而不能返回读取.如果说他用read方法读取到了数据,那么将数据填充到dataReader对象里,并read方法返回true,
             * 否则dataReader对象中没有数据,read方法返回为false.
             *
             无连接查询它是用dataAdapter对象将此查询的所有记录一次性接收填充到dataset里,那么这里的connection对象在发送数据之后就可以关闭.
             *

        //返回dataReader对象
        public static SqlDataReader GetDataReader(string strCmd, CommandType cmdType, SqlParameter[] parms)
        {
            PrepareCmd(strCmd, CommandType.Text, parms);
            SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            return reader;
        }
        //增删改,没有返回结果.
        public static int ExecuteNoQuery(string strCmd, CommandType type, SqlParameter[] parms)
        {
            PrepareCmd(strCmd, CommandType.Text, parms);
            int result = cmd.ExecuteNonQuery();
            con.Close();
            return result;
        }
        //查询用,返回第一行的第一列数据   
        public static object GetScalar(string strCmd, CommandType cmdType, SqlParameter[] parms)
        {
            PrepareCmd(strCmd, CommandType.Text, parms);
            object result = cmd.ExecuteScalar();
            con.Close();
            return result;
        }

        //无连接查询,返回一个dataTable
        public static DataTable GetDataTable(string strCmd, CommandType type, SqlParameter[] parms)
        {
            PrepareCmd(strCmd, CommandType.Text, parms);
            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            con.Close();
            return ds.Tables[0];
        }

        //重载,1个参数时使用
        public static int ExecuteNoQuery(string strCmd)
        {
            return ExecuteNoQuery(strCmd,null) ;
        }

        public static object GetScalar(string strCmd)
        {
            return GetScalar(strCmd,null);
        }

        public static DataTable GetDataTable(string strCmd)
        {
            return GetDataTable(strCmd,null);
        }

        public static SqlDataReader GetDataReader(string strCmd)
        {
            return GetDataReader(strCmd,null);
        }

        //重载,2个参数时使用
       public static int ExecuteNoQuery(string strCmd, SqlParameter[] parms)
       {
          return ExecuteNoQuery(strCmd, CommandType.StoredProcedure, parms);
       }
       public static object GetScalar(string strCmd, SqlParameter[] parms)
       {
          return GetScalar(strCmd, CommandType.StoredProcedure, parms);
       }
       public static DataTable GetDataTable(string strCmd, SqlParameter[] parms)
       {
          return GetDataTable(strCmd, CommandType.StoredProcedure, parms);
       }

      public static SqlDataReader GetDataReader(string strCmd, SqlParameter[] parms)
       {
          return GetDataReader(strCmd, CommandType.StoredProcedure, parms);
       }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DBHelper是一个常见的C#,用于简化与数据库交互的操作。它通常包含一组静态方法或实例方法,用于执行SQL查询、插入、更新和删除等操作。 在C#中,使用ADO.NET来访问数据库。DBHelper封装了底层与数据库交互的逻辑,简化了代码的编写和维护。 以下是一个示例的DBHelper的代码: ```csharp using System; using System.Data.SqlClient; public class DBHelper { private string connectionString; public DBHelper(string connectionString) { this.connectionString = connectionString; } public void ExecuteNonQuery(string query) { using (SqlConnection connection = new SqlConnection(connectionString)) { using (SqlCommand command = new SqlCommand(query, connection)) { connection.Open(); command.ExecuteNonQuery(); } } } public object ExecuteScalar(string query) { using (SqlConnection connection = new SqlConnection(connectionString)) { using (SqlCommand command = new SqlCommand(query, connection)) { connection.Open(); return command.ExecuteScalar(); } } } // 其他操作方法... } ``` 这个示例中的DBHelper有两个常用的方法:ExecuteNonQuery和ExecuteScalar。ExecuteNonQuery用于执行没有返回结果集的SQL查询,例如插入、更新和删除操作。ExecuteScalar用于执行返回单个值的查询,例如获取记录数或计算某个字段的总和。 你可以根据自己的需求扩展DBHelper,并添加其他的数据库操作方法。这样,你可以在项目中使用DBHelper来简化与数据库的交互操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值