如题?

解决方案 »

  1.   

    我想通过代码来创建一个系统的odbc数据源共自己使用?这种想法有问题吗?
      

  2.   

    DataGridView 类支持标准的 Windows 窗体数据绑定模型。这意味着数据源可以是实现下列接口之一的任何类型:IList 接口,包括一维数组。IListSource 接口,例如,DataTable 和 DataSet 类。IBindingList 接口,例如,BindingList 类。IBindingListView 接口,例如,BindingSource 类。
      

  3.   

    楼上的,我是要建立ODBC数据源!
      

  4.   

    你观察就可以发现用windows控制面板的工具建立ODBC数据源就是在注册表中建立相应的值。
    下面的函数可以建立SQL Server的ODBC数据源!可以自己观察注册表,修改一部分值!
    /// <summary>
            /// 注册odbc数据源
            /// </summary>
            /// <param name="DsnName">ODBC数据源名称,这里要与SQL Server数据库名保持一致</param>
            /// <param name="ServerName">SQL Server数据库服务器名</param>
            /// <returns>返回是否成功</returns>
            private bool RegODBC(string DsnName,string ServerName)
            {
                try
                {
                    //在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI中创建一个子键和相应的值
                    Microsoft.Win32.RegistryKey  regkey=Microsoft.Win32.Registry.LocalMachine.OpenSubKey("software").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).CreateSubKey(DsnName.Trim());
                    regkey.SetValue("DataBase",DsnName.Trim());
                    string strSystem32=Application.LocalUserAppDataPath.Substring(0,2);
                    strSystem32=strSystem32+@"\WINDOWS\System32\SQLSRV32.dll";
                    regkey.SetValue("Driver",strSystem32);
                    regkey.SetValue("Server",ServerName.Trim());
                    regkey.SetValue("Trusted_Connection","Yes");
                    //在HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\ODBC Data Sources中增加一个字符串键值
                    regkey=Microsoft.Win32.Registry.LocalMachine.OpenSubKey("software").OpenSubKey("ODBC").OpenSubKey("ODBC.INI",true).OpenSubKey("ODBC Data Sources",true);
                    regkey.SetValue(DsnName.Trim(),"SQL Server");
                    return true;
                }
                catch(Exception Err)
                {
                }
                return false;
            }
      

  5.   

    谢谢楼上!经检查oracle数据源和sybase数据源和sqlserver数据源一样都回在同样的地方注册。