2010-09-27 60 views
1

我正嘗試在C#應用程序中使用VB6應用程序。 VB6應用程序是一個Winform應用程序。爲此,我已經將VB6應用程序(EXE)修改爲DLL。然後我在C#應用程序中引用它。在我的VB應用程序中,我用一些方法添加了一個新的類來打開VB表單。VB6 .NET Interop - 性能問題

一切正常......只是如果窗體有許多控件(30),該窗口是極其緩慢的打開(> 4S而在VB < 1S)

1 /是這個方法好?

2 /如何解決這個問題?

問候,

弗洛裏安

編輯:我知道問題出在哪裏,但我不知道如何解決它。這個執行速度非常慢的方法包含一串由「;」串聯的sql字符串。和方法 例如:=的SqlString 「SELECT * FROM客戶; SELECT * FROM發佈商...」 OpenResultSet(strSelect)被稱爲......一個組合框填寫每個SQL字符串

+0

表單如何初始化?你是否將大量數據從C#傳遞給VB6? – 2010-09-27 09:20:13

+0

不,我不會將任何代碼從C#傳遞給vb6。在C#中我只是調用這個方法:myVBApp.OpenFrmCustomer(); – Florian 2010-09-27 14:52:36

回答

0

從你寫了我會查看您的'SELECT * FROM XXXX'查詢返回的行數/列數。

SELECT *通常被認爲是不好的做法,因爲它可能會產生巨大的性能影響(即使您不需要該列中的任何數據,將來也會減慢每一列添加到表中的速度),如果您沒有WHERE子句,您的查詢每天都會將數據添加到表中。