C# 无法强制转换类型为';ADODB.Recordset';输入';MSDATASRC.DataSource';
我有一个将Vb6移植到c#.net的项目。当我运行这个c#解决方案时,我得到了一个InvalidCastException类似无法将类型为“ADODB.Recordset”的对象强制转换为类型为“MSDATASRC.DataSource” 在语句DataGrid1.DataSource=(MSDATASRC.DataSource)(object)(Module1.rs)中 其中,rs的生成如下所示: 公共静态ADODB.Connection conn=null; 公共静态ADODB。记录集rs=nullC# 无法强制转换类型为';ADODB.Recordset';输入';MSDATASRC.DataSource';,c#,vb6,vb6-migration,C#,Vb6,Vb6 Migration,我有一个将Vb6移植到c#.net的项目。当我运行这个c#解决方案时,我得到了一个InvalidCastException类似无法将类型为“ADODB.Recordset”的对象强制转换为类型为“MSDATASRC.DataSource” 在语句DataGrid1.DataSource=(MSDATASRC.DataSource)(object)(Module1.rs)中 其中,rs的生成如下所示: 公共静态ADODB.Connection conn=null; 公共静态ADODB。记录集rs=
conn = new ADODB.Connection();
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Windows.Forms.Application.StartupPath + "\\myDatabase.mdb;Persist Security Info=False",String.Empty,String.Empty,-1);
rs = new ADODB.Recordset();
rs.ActiveConnection = conn;
rs.CursorLocation = (ADODB.CursorLocationEnum)(MSAdodcLib.CursorLocationEnum.adUseClient);
rs.CursorType = (ADODB.CursorTypeEnum)(MSAdodcLib.CursorTypeEnum.adOpenDynamic);
rs.LockType = ADODB.LockTypeEnum.adLockOptimistic;
rs.Source = "SELECT * FROM MyTable";
rs.Open(null,null,ADODB.CursorTypeEnum.adOpenUnspecified,ADODB.LockTypeEnum.adLockUnspecified,-1);
任何人都可以帮我解决这个问题。试试:
DataGrid1.DataSource = DataGrid1.DataSource = (MSDATASRC.DataSource)(object)(Module1)
嗨,Oscar,我尝试使用u-r代码,我得到的错误是**'Project1.Module1'是一个'type',但像'variable'一样使用**我尝试了这个DataGrid1.DataSource=(MSDATASRC.DataSource)(object)(Module1.rs.Source);。现在我可以加载页面,但无法从表中获取记录。