非静态的字段,方法或属性要求对象引用如何解决?

本文介绍了一个名为DBHelper的公共类,该类用于简化数据库操作,包括执行SQL命令和查询数据等功能。文章提供了完整的代码示例,并针对在使用过程中遇到的非静态上下文错误进行了说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写了一个公共类DBhelper.cs,但是在引用的时候出现““ 非静态的字段、方法或属性“DBhelper.ExecuteNonQuery(STRING,System.Data.SqlClient.SqlParameter[])”要求对象引用””,应该怎么样解决呢?

附DBhelper.cs代码如下:
 public class DBhelper
    {
        private SqlConnection connection;
        private SqlCommand command;
        private SqlDataAdapter adapter;
        public DBhelper()
        {
            this.connection = new SqlConnection(ConfigurationManager.ConnectionStrings["db_EShopConnectionString"].ConnectionString);
            this.command = new SqlCommand();
            this.command.Connection = this.connection;
            this.adapter = new SqlDataAdapter(command);
        }

        public int ExecuteNonQuery(string sql)
        {
            return this.ExecuteNonQuery(sql, new SqlParameter[0]);
        }

        public int ExecuteNonQuery(string sql, SqlParameter[] param)
        {
            this.command.CommandText = sql;
            this.command.Parameters.Clear();
            for (int i = 0; i < param.Length; i++)
            {
                if (param[i] != null)
                {
                    this.command.Parameters.Add(param[i]);

                }
                int result = 0;
                try
                {
                    this.connection.Open();
                    result = this.command.ExecuteNonQuery();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    this.connection.Close();
                }
                return result;
            }
            return 0;
        }

        public DataTable Select(string sql, SqlParameter[] param)
        {
            this.command.CommandText = sql;
            this.command.Parameters.Clear();
            for (int i = 0; i < param.Length; i++)
            {
                if (param[i] != null)
                {
                    this.command.Parameters.Add(param[i]);

                }
                DataTable dtData = new DataTable();
                try
                {
                    this.adapter.Fill(dtData);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                return dtData;
            }
            return null;
        }

        public DataTable Select(string sql)
        {
            return this.Select(sql, new SqlParameter[0]);
        }

        public static SqlParameter[] AddParameter(SqlParameter[] paramArray, SqlParameter param)
        {
            Array.Resize<SqlParameter>(ref paramArray, paramArray.Length + 1);
            return paramArray;
        }
    }

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值