我在VB.NET Windows窗体应用程序中有以下代码:
Case "DB2"
Try
Dim row As DataRow
Using cnDB2 As New OdbcConnection(source_cnString)
Dim drDB2 As OdbcDataReader = Nothing
Dim cmdDB2 As New OdbcCommand(dtSource, cnDB2)
cnDB2.Open()
drDB2 = cmdDB2.ExecuteReader
While drDB2.Read
row = dsSourceData.Tables(tableName).NewRow()
Dim iCell As Integer
但是我收到了编译错误:
'OdbcConnection' is ambiguous, imported from the namespaces or types 'Microsoft.Office.Interop.Excel, System.Data.Odbc'
我在课堂上有 Imports :
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
Imports System.Data.Odbc
Imports System.Data.SqlClient
Imports Microsoft.Office.Interop.Excel
Imports System.Net.Mail
Imports System.Text
答案 0 :(得分:1)
如错误输出中所述,OdbcConnection存在于'Microsoft.Office.Interop.Excel'和'System.Data.Odbc'命名空间中。您必须通过在代码中放入完整的命名空间来指定您正在使用的内容。
Using cnDB2 As New System.Data.Odbc.OdbcConnection(source_cnString)
答案 1 :(得分:1)
错误是由冲突的命名空间引起的。 System.Data.Odbc
中的那个和Microsoft.Office.Interop.Excel
中的那个,这里唯一的可能性就是准确指定您打算使用的命名空间。您可以为每个Odbc类键入完整的限定名称空间(System.Data.Odbc.OdbcConnection
等),或使用简单的快捷方式缩写您的输入。
尝试在代码文件的开头添加此Imports statement
Imports NetOdbc = System.Data.Odbc
然后在你的代码中
Case "DB2"
Try
Dim row As DataRow
Using cnDB2 As New NetOdbc.OdbcConnection(source_cnString)
Dim drDB2 As NetOdbc.OdbcDataReader = Nothing
Dim cmdDB2 As New NetOdbc.OdbcCommand(dtSource, cnDB2)
cnDB2.Open()
drDB2 = cmdDB2.ExecuteReader
While drDB2.Read
row = dsSourceData.Tables(tableName).NewRow()
Dim iCell As Integer