当前位置:编程学习 > C#/ASP.NET >>

这是一个写入的一个SQL类,麻烦谁帮我看看在ButtonCLICK中该怎么写代码


     public class Entity
    {
        private string _EntityID;                                               
        private string _EntityName; 
        private string _Address1;
        private string _Address2;                    
        private string _CityCode;                                               
        private string _Zip;                                           
        private string _Phone1;  
        private string _Phone2;                                  
        private string _Fax;                             
        private string _WebAddress;
        private string _Notes;

        public string WebAddress
        {
            set
            {
                this.WebAddress = value;
            }
            get
            {
                return this._WebAddress;
            }
        }
        public string Notes
        {
            set
            {
                this._Notes = value;
            }
            get
            {
                return this._Notes;
            }
        }

        public string  Address1
        {
            set
            {
                this._Address1=value;
            }
            get
            {
                return this._Address1;
            }
        }

        public string  Address2
        {
            set
            {
                this._Address2=value;
            }
            get
            {
                return this._Address2;
            }
        }
        


        public string EntityID
        {
            set
            {
                this._EntityID = value;
            }
            get
            {
                return this._EntityID;
            }
        }
        public string EntityName
        {
            set
            {
                this._EntityName = value;
            }
            get
            {
                return this._EntityName;
            }
        }
        public string CityCode
        {
            set
            {
                this._CityCode = value;
            }
            get
            {
                return this._CityCode;
            }
        }
        public string Zip
        {
            set
            {
                this._Zip = value;
            }
            get
            {
                return this._Zip;
            }
        }
        public string Phone1
        {
            set
            {
                this._Phone1 = value;
            }
            get
            {
                return this._Phone1;
            }
        }
        public string Phone2
        {
            set
            {
                this._Phone2 = value;
            }
            get
            {
                return this._Phone2;
            }
        }
        public string Fax
        {
            set
            {
                this._Fax = value;
            }
            get
            {
                return this._Fax;
            }
        }
        
        public static int Insert(string EntityID,string EntityName, string Zip, string CityCode, string Phone1,string Fax,string WebAddress,string Notes,string Address1,string Address2,string Phone2)
        {
            // Initialize command
            SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);
            SqlCommand cmd = new SqlCommand("EntityInsert", con);
            cmd.CommandType = CommandType.StoredProcedure;

            // Initialize parameters
            cmd.Parameters.Add("@ReturnValue",SqlDbType.Int).Direction = ParameterDirection.ReturnValue;
            cmd.Parameters.AddWithValue("@EntityID", EntityID);
            cmd.Parameters.AddWithValue("@Zip", Zip);
            cmd.Parameters.AddWithValue("@EntityName", EntityName);
            cmd.Parameters.AddWithValue("@CityCode", CityCode);
            cmd.Parameters.AddWithValue("@Phone1", Phone1);
            cmd.Parameters.AddWithValue("@Fax", Fax);
            cmd.Parameters.AddWithValue("@WebAddress", WebAddress);
            cmd.Parameters.AddWithValue("@Notes", Notes);
            cmd.Parameters.AddWithValue("@Address1", Address1);
            cmd.Parameters.AddWithValue("@Address2", Address2);
            cmd.Parameters.AddWithValue("@Phone2", Phone2);

            // Execute command
            int returnValue = 0;
            using (con)
            {
                con.Open();
                cmd.ExecuteNonQuery();
                returnValue = (int)cmd.Parameters["@ReturnValue"].Value;
            }
            return returnValue;
        }



  protected void Btn_Insert_Click(object sender, EventArgs e)
    {
       ????????????????? 
    }
其中报错CS0120: 非静态的字段、方法或属性“DB.Entity.EntityID.get”要求对象引用   应该在那里改?

--------------------编程问答-------------------- 这样写实在是糟糕透了

报这个错的原因是你在static方法里调用了非静态属性

改写的方式有很多种,在这里我给你个建议
要么把所有的属性给删掉干脆不要
要么就建立一个实例对象,把值赋给属性之后调用对象属性 --------------------编程问答--------------------


  protected void Btn_Insert_Click(object sender, EventArgs e) 
    { 
      Entity newent=new Entity();
      //给各个字段付值
      newent.EntityID=1
       .
       .
       .
       .
       .
       .
       .
       newent.Phone2="13812312312"
       //最后调用方法
        int i;
      i=newent.Insert(参数)
        
    } 

建议操作类和基本类分离

把基本类对象作为参数传入操作类的方法 

--------------------编程问答-------------------- 找麻烦,一个态类,那么多属性最后又来个静态方法,晕.
这样的话那些属性都是废品.
直接用Entity.Insert(参数1,参数2.....参数N)就行了.
Insert是个静态方法,应直接调用.
如果用下面的方式是肯定出错的(静态方法不能实例化)!

Entity abc = new Entity();
abc.Insert(参数1,参数2.....参数N);
--------------------编程问答-------------------- 看看我的:
using System;
using System.Collections.Generic;
using System.Text;

namespace HR_GZ.Model.Entities
{
   public class zhangtaoData
    {
        #region Modelf
        private string _ztid;//一级分类的id号
      
        private string _ztmc;
        private string _ztmcjm;
        private string _jianyan;
        private string _datetime;
        private string _bzry;
        private string _tablenames;


        /// <summary>
        /// 类别的id
        /// </summary>
       public string ztId
        {
            set { _ztid = value; }
            get { return _ztid; }
        }
       
        /// <summary>
        /// 类别的名称
        /// </summary>
        public string ztmc
        {
            set { _ztmc = value; }
            get { return _ztmc; }
        }
        /// <summary>
        /// 解密后的名称
        /// </summary>
        public string ztmcjm
        {
            set { _ztmcjm = value; }
            get { return _ztmcjm; }
        }
        /// <summary>
        /// 
        /// <summary>
        /// 录入人员的名称
        /// </summary>
        public string bzry
        {
            set { _bzry = value; }
            get { return _bzry; }
        }
        /// <summary>
        /// <summary>
        /// 录入时间
        /// </summary>
        public string DateTime
        {
            set { _datetime = value; }
            get { return _datetime; }
        }

        /// <summary>
        /// 
        /// <summary>
        /// 记录某个表的名字
        /// </summary>
        public string tablenames
        {
            set { _tablenames = value; }
            get { return _tablenames; }
        }
        /// <summary>
        /// 
        /// <summary>
        /// 检验是否查到了记录
        /// </summary>
        public string jianyan
        {
            set { _jianyan = value; }
            get { return _jianyan; }
        }
        #endregion Modelf


    }
}


调用的方法:
public void Add(zhangtaoData zhangtaoData)
        {
            SqlParameter[] sqlParameters = {
                
                new SqlParameter("@ztmc",SqlDbType.NVarChar),
                new SqlParameter("@bzry",SqlDbType.NVarChar),
                new SqlParameter("@bzsj",SqlDbType.NVarChar),
                new SqlParameter("@ztid",SqlDbType.NVarChar)
            };
            sqlParameters[0].Value = zhangtaoData.ztmc;
            sqlParameters[1].Value = zhangtaoData.bzry;

            sqlParameters[2].Value = zhangtaoData.DateTime;
            sqlParameters[3].Value = zhangtaoData.ztId;
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = SqlHelper.ConnectionStringLocalTransaction;
                SqlHelper.ExecuteNonQuery(conn, CommandType.StoredProcedure, "ZT_ADD", sqlParameters);
            }
        }


希望对你有帮助!!! --------------------编程问答--------------------
引用 2 楼 dreamagainzwj 的回复:
Entity newent=new Entity();
.........
int i;
i=newent.Insert(参数)


2楼真牛,你的静态方法可以实例化后调用呀? --------------------编程问答-------------------- zhangtaoData zhangtaoData这个要注意!! --------------------编程问答--------------------
引用 6 楼 zhongxingqiche 的回复:
zhangtaoData zhangtaoData这个要注意!!
   zhangtaoData是数据库名称?
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,