请教高人:
        public static string cs = "server = HMCHE; database = cg; integrated security = sspi";
        string sql_str ="select * from SY_T_USER";
        SqlConnection sqlcon = new SqlConnection(cs);
        SqlCommand sqlCommand1 = new SqlCommand();
        SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(sql_str,sqlcon);//这行出错        出错提示:字段初始值设定项无法引用非静态字段、方法或属性  

解决方案 »

  1.   

    将 public static string cs = "server = HMCHE; database = cg; integrated security = sspi";中的static去掉试试
      

  2.   


    这段代码写在哪的?sqlconnection也没open把SqlConnection先声明个在外面去看看
      

  3.   

     前后贴出来后:
    public partial class cg : Form
        {
            public cg()
            {
                InitializeComponent();
            }
            public static string cs = "server = HMCHE; database = cg; integrated security = sspi";
            public static string sql_str = "select * from SY_T_USER";
            SqlConnection sqlcon = new SqlConnection(cs);
            SqlCommand sqlCommand1 = new SqlCommand();
            SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(sql_str,sqlcon);
                    DataSet dataSet1 = new DataSet();        private void cg_Load(object sender, EventArgs e)
            {
               try
    {
                    this.sqlDataAdapter1.Fill(this.dataSet1, "SY_T_USER");
                    this.textBox1.DataBindings.Add("Text", this.dataSet1, "SY_T_USER.ID");
                    this.textBox2.DataBindings.Add("Text", this.dataSet1, "SY_T_USER.RYXM");
                    this.textBox3.DataBindings.Add("Text", this.dataSet1, "SY_T_USER.ZFJE");
                }
                catch (Exception Err)
                {
                    MessageBox.Show("打开数据库表错误:" + Err.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }
      

  4.   

     SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(sql_str,sqlcon);//这行出错这行写在某个方法里面,或者 定义的部分只有SqlDataAdapter sqlDataAdapter1 = null 初始化部分写在方法里面。
      

  5.   

    你这样,dataadapter在初始化时,无法确定sqlconn是否已经构造
    SqlConnection sqlcon = new SqlConnection(cs);
    SqlDataAdapter sqlDataAdapter1 = new SqlDataAdapter(sql_str,sqlcon);
       改一下
    static SqlConnection sqlcon = new SqlConnection(cg.cs);
      

  6.   

    这样的话,其他地方 this.sqlcon.Open();会出错
    无法使用实例引用访问静态成员“cg.cg.sqlcon”;改用类型名来限定它
      

  7.   

    ……你可能还没明白static对于一个类中的成员的影响你其他引用这个SqlConnection时,使用;cg.sqlcon进行访问即可,别用this。 this是指向类的实例对象的。
      

  8.   

    用cg.sqlcon进行访问(8楼上面不小心多打了个分号,怕你误解)对于类中的成员,无论方法还是数据成员,只要被static修饰,就请使用 类名.方法名 或 类名.数据成员名 的方式进行引用。