MIT писал(а):Я скопипастил и у меня всё работает.
Согласен, код из примера - работает.
Я про то говорю, что он не работает, будучи применён с столбцам в DataTable.
Вот такой, например, код:
- Код: Выделить всё
Dim MySQLConnection As New SqlConnection("Persist Security Info=False;Integrated Security=true;Initial Catalog=My_DB;server=My_SQLServer")
Dim MySQLCommand As New SqlCommand("select * from My_Table", MySQLConnection)
Dim MyDataAdapter As New SqlDataAdapter(MySQLCommand)
Dim MyDataTable As New DataTable
MyDataAdapter.Fill(MyDataTable)
For Each CurColumn As DataColumn In MyDataTable.Columns
Select Case Type.GetTypeCode(CurColumn.DataType.GetType())
Case TypeCode.Int16, TypeCode.Int32, TypeCode.Int64
Debug.Print(CurColumn.ColumnName + " - integer")
Case TypeCode.Char, TypeCode.String
Debug.Print(CurColumn.ColumnName + " - text")
Case Else
Debug.Print(CurColumn.ColumnName + " - other type")
End Select
Next
нормально не работает, не проверяя ни одного case, сразу идёт в case else
Ушо в ём не так ?
Чтоб совсем соответствовать примеру из msdn, можно переделать вот так:
- Код: Выделить всё
Dim MySQLConnection As New SqlConnection("Persist Security Info=False;Integrated Security=true;Initial Catalog=My_DB;server=My_SQLServer")
Dim MySQLCommand As New SqlCommand("select * from My_Table", MySQLConnection)
Dim MyDataAdapter As New SqlDataAdapter(MySQLCommand)
Dim MyDataTable As New DataTable
MyDataAdapter.Fill(MyDataTable)
For Each CurColumn As DataColumn In MyDataTable.Columns
Dim typeCode As TypeCode = Type.GetTypeCode(CurColumn.DataType.GetType())
Select Case typeCode
Case typeCode.Int16, typeCode.Int32, typeCode.Int64
Debug.Print(CurColumn.ColumnName + " - integer")
Case typeCode.Char, typeCode.String
Debug.Print(CurColumn.ColumnName + " - text")
Case Else
Debug.Print(CurColumn.ColumnName + " - other type")
End Select
Next
Всё равно ведь не работает.
1Steps писал(а):Так тогда делай сам. Зачем спрашиваешь?
Извините пожалуйста, сразу не указал в инит-посте, что комментарии быдлокодеров мне не интересны.