连接数据库:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;namespace tyjxc.Method
{
   public class getSqlConnection
    {              #region   代码中用到的变量
        string G_Str_ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=tyjxc.mdb ;Persist Security Info=False;Jet OLEDB:Database Password=";
        OleDbConnection G_Con;  //声明链接对象
        #endregion        #region  构造函数
        /// <summary>
        /// 构造函数
        /// </summary>
       public getSqlConnection()
        {        }
        #endregion        #region   连接数据库
        /// <summary>
        /// 连接数据库
        /// </summary>
        /// <returns></returns>
        public OleDbConnection GetCon()
        {
            G_Con = new OleDbConnection(G_Str_ConnectionString);
            G_Con.Open();
            return G_Con;
        }
        #endregion
    }
}datagridview绑定数据:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using tyjxc.Method;private void class_list()
{  getSqlConnection getConnection = new getSqlConnection();
  conn = getConnection.GetCon();  string sql = "select kh_classid as 编号,kh_classname as 客户分类 from kh_class order by kh_classid";  dataAdapter = new OleDbDataAdapter(sql, conn);
  OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(dataAdapter);
  DataTable table = new DataTable();
  table.Locale = System.Globalization.CultureInfo.InvariantCulture;
  dataAdapter.Fill(table);
  bindingSource1.DataSource = table;
  dataGridView1.DataSource = bindingSource1;
  conn.Dispose();
}修改后保存datagridview的代码:
dataAdapter.Update((DataTable)bindingSource1.DataSource);
提示connectionstring 属性尚未初始化?请教高人,这是什么问题,我应该如何修改?谢谢。

解决方案 »

  1.   

    string G_Str_ConnectionString 前面加public static
      

  2.   

    private void class_list() 
    {   getSqlConnection getConnection = new getSqlConnection(); 
    从getSqlConnection getConnection = new getSqlConnection(); 
    设置断点.慢慢看.F11一步一步的找.看是哪里报的错误.
      

  3.   

    conn.Dispose(); 
    ---------------------
    既然连接后面还要使用,这儿就不要Dispose。
    否则,后面就重新初始化。
      

  4.   

    没有读到数据, 你的连接字符串有问题。
     connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\studentSystem.mdb"
      

  5.   

    DataTable table = new DataTable();
    你的table是本地内存中的.是脱机数据
    bindingSource1.DataSource = table; bindingSource1.DataSource是一个脱机数据,根本没和数据库进行双向绑定,修改后保存datagridview的代码: 
    dataAdapter.Update((DataTable)bindingSource1.DataSource); 
    所以你想把更改后的内存数据提交到数据库去是不可能的.即根本没跟数据库建立连接,
    所以 提示connectionstring 属性尚未初始化? 是正常的
      

  6.   

    conn.Dispose(); 
    应该是这里的原因,你这里已经释放了,而后面又用到了
    把这个去掉试试
      

  7.   

    我以前直接在form上写连接代码
    private OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=jinxiaocun.mdb ;Persist Security Info=False;Jet OLEDB:Database Password=;");这样是可以保存的只是最近专门把链接数据库写成一个类文件,才出的这个问题。
      

  8.   

    你以前的代码中,在填充完数据库之后,也会把Connection Dispose掉?