Как определить тип данных поля?

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Как определить тип данных поля?

Сообщение xenomorph » 05.07.2005 (Вт) 23:31

Привет всем!

Вопрос: Как ппрограмно (т.е. кодом, а не на глаз) определить
тип данных определённого поля (Field) в Recordset-e?

эээ ... красиво! 8) определить!

У меня выдаёт ошибку при:
MsgBox СStr(.adodc_Main.Recordset.Fields(i).DataFormat)
--
Заранее огромное спасибо!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 06.07.2005 (Ср) 1:11

2 минуты поисков, чесслово:
http://msdn.microsoft.com/library/defau ... jfield.asp
Конкретно то, что нужно тебе сейчас:
Return the basic characteristics of a field with the Type, Precision, and NumericScale properties.

Однако, прогуляться по ссылке рекомендую, чтобы хотя бы сложилось представление, что это вообще такое и с какой стороны подходить.

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

памагите !!!

Сообщение xenomorph » 08.07.2005 (Пт) 23:45

эээ ... Третий час мучаю Васик ...
МСДН переползал вдоль и поперёк ...

... начинаю ГЛЮЧИТЬ ...

Не ВЫХОДИТ!!!

Огромная просьба дать пример!
--
Заранее огромное спасибо!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

3ton
Новичок
Новичок
 
Сообщения: 48
Зарегистрирован: 07.05.2004 (Пт) 10:56
Откуда: Kaliningrad

Сообщение 3ton » 09.07.2005 (Сб) 11:55

Если еще актуально, то вот пример, выдернутый из хелпушника по MDAC

Код: Выделить всё
Public Sub TypeX()

   Dim rstEmployees As ADODB.Recordset
   Dim fldLoop As ADODB.Field
   Dim strCnn As String

   ' Open recordset with data from Employees table.
   strCnn = "Provider=sqloledb;" & _
      "Data Source=MyServer;Initial Catalog=Pubs;User Id=sa;Password=; "
   Set rstEmployees = New ADODB.Recordset
   rstEmployees.Open "employee", strCnn, , , adCmdTable

   Debug.Print "Fields in Employees Table:" & vbCr

   ' Enumerate Fields collection of Employees table.
   For Each fldLoop In rstEmployees.fields
      Debug.Print "  Name: " & fldLoop.Name & vbCr & _
         "  Type: " & FieldType(fldLoop.Type) & vbCr
   Next fldLoop

End Sub
'EndTypeFieldVB



'BeginTypeField2VB
Public Function FieldType(intType As Integer) As String

   Select Case intType
      Case adChar
         FieldType = "adChar"
      Case adVarChar
         FieldType = "adVarChar"
      Case adSmallInt
         FieldType = "adSmallInt"
      Case adUnsignedTinyInt
         FieldType = "adUnsignedTinyInt"
      Case adDBTimeStamp
         FieldType = "adDBTimeStamp"
   End Select

End Function


Кстати, по вышеуказанной ссылке этот пример тоже мона найти :D
Жить - хорошо! А хорошо жить - еще лучше!!!
Удачи! Шурик.

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

2 3ton:

Сообщение xenomorph » 10.07.2005 (Вс) 8:34

СпАсИбо!
Огромное спасибо ещё раз!
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList