日期:2014-05-17  浏览次数:20857 次

求教用户控件的
求救!!!

我写了一个DataBase.cs类用来连接数据库,更新,查询等的。
有个:
        public static string M_str_sqlcon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=data\\data.mdb;Persist Security Info=True;Jet OLEDB:Database Password=1234";
用来做连接字符串。
一般在窗口控件“调用”这个类,做数据,查询什么的,都正常。

但是我做了个用户控件含dataGridView的,
在这个用户控件中“调用”这个类,正常。
但是把它拖到一般窗口实例化这个用户控件,就出错。
设置页面没正常显示出来,显示的是:
=====================================================
若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误:   
     1 个错误   
  
  忽略并继续   
    为什么会看到此页?   
   
   'C:\Windows\system32\data\data.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。     
 》》》怎么相对路径会到了系统文件夹呢??????
       
此错误的实例(1)  
 
1。   显示调用堆栈  
 
在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OleDb.OleDbConnection.Open()
在 MJ.DataBase.getcon() 位置 F:\MJ\MJ\DataBase.cs:行号 105
在 MJ.DataBase.getDataSet(String SQLstr, String tableName) 位置 F:\MJ\MJ\DataBase.cs:行号 111
在 MJ.client_head.client_head_Load(Object sender, EventArgs e) 位置 F:\MJ\MJ\client_head.cs:行号 57
在 System.Windows.Forms.UserControl.OnLoad(EventArgs e)
在 System.Windows.Forms.UserControl.OnCreateControl()
在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
在 System.Windows.Forms.Control.CreateControl()
在 System.Windows.Forms.Control.ControlCollection.Add(Control value)
在 System.Windows.Forms.Form.ControlCollection.Add(Control value)
在 System.Windows.Forms.Design.ControlDesigner.DesignerControlCollection.Add(Control c)  
   
有关此错误的帮助  
 
未能找到与此错误相关的帮助主题。 检查 Windows 窗体设计时错误列表   
 
   
有关此错误的论坛文章  
 
在 MSDN 论坛中搜索与此错误相关的文章   
 ===========================================
在 MJ.DataBase.getcon() 位置 F:\MJ\MJ\DataBase.cs:行号 105
是            My_con = new OleDbConnection(M_str_sqlcon);
            My_con.Open();

在 MJ.client_head.client_head_Load(Object sender, EventArgs e) 位置 F:\MJ\MJ\client_head.cs:行号 57
是调用DataBase.cs的方法。
 
用户控件

------解决方案--------------------
有时我也在debug目录转到release目录也发生过这个问题,我都是