2012-05-03 46 views
0

我在Vb.Net中製作的軟件出錯。我無法弄清楚在哪裏看,谷歌也沒有幫助我。 我可以在什麼地方嘗試一下嗎?列'CHARACTER_OCTET_LENGTH'不屬於表

System.ArgumentException: Column 'CHARACTER_OCTET_LENGTH' does not belong to table . 
    at System.Data.DataColumnCollection.Remove(String name) 
    at MySql.Data.MySqlClient.ISSchemaProvider.GetColumns(String[] restrictions) 
    at MySql.Data.MySqlClient.SchemaProvider.GetSchemaInternal(String collection, String[] restrictions) 
    at MySql.Data.MySqlClient.ISSchemaProvider.GetSchemaInternal(String collection, String[] restrictions) 
    at MySql.Data.MySqlClient.SchemaProvider.GetSchema(String collection, String[] restrictions) 
+1

問題的標籤應該是VB.net –

+0

很難說沒有任何的代碼來看看 – Steve

回答

0

看來您正在使用DataTable,而您嘗試使用的列不屬於它。 CHARACTER_OCTET_LENGTH是列名稱,它只是令人困惑。

Dim tbl As New DataTable 
tbl.Columns.Remove("aa") 

結果

Message=Column 'aa' does not belong to table . 
    Source=System.Data 
    StackTrace: 
     at System.Data.DataColumnCollection.Remove(String name) 
     at dbpokusy.net.Module1.AddConstantToQuery() in C:\... 
+0

CHARACTER_OCTET_LENGTH是INFORMATION_SCHEMA表中的默認列,我不使用它 – Kreker

+0

@Kreker:看看這個https://phalangermysql.svn.codeplex.com/svn/2.0/MySql.Data/MySql/Data/MySqlClient/ISSchemaProvider.cs。函數GetColumns是probaby引起問題的函數。我不是MySql的專家,也許你應該將標籤更改爲mysqlclient和.net。這個問題與vb無關。 – IvanH