0

Vb6 を c#.net プロジェクトに移行したものがあります。このC#ソリューションを実行すると、 Unable to cast object of type 'ADODB.Recordset' to type 'MSDATASRC.DataSource' のようなInvalidCastExceptionが発生しました

ステートメントでDataGrid1.DataSource = (MSDATASRC.DataSource)(object)(Module1.rs); .

ここで、rs は次のように生成されます。 public static ADODB.Connection conn = null; public static ADODB.Recordset rs = null;

     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);

誰でもこの問題を解決するのを手伝ってくれませんか。

4

1 に答える 1

0

試してみてください:

 DataGrid1.DataSource = DataGrid1.DataSource = (MSDATASRC.DataSource)(object)(Module1)
于 2012-12-10T08:22:43.960 に答える