## Pages

For any corporate training requirements Please mail To sudhakar@qtpsudhakar.com
Course Name Date Time Duration Type Location
An important update from QtpSudhakar. I stopped giving classroom training in MindQ Systems. I have bigger plans and I want to put an end to regular classroom training because very less people are practicing. From now onwards every session of mine is going to have explanation and practice. Everyone should practice in presence of mine and should go out of classroom with practical knowledge. So I started my own institute AnyTechLabs in Madhapur. Please reach out to +91-8328152362 for course details. Visit AnyTechLabs.com for address details.
Selenium + Cucumber 22nd September 9 AM IST to 2.00 PM IST 4 WeekEnds Theory + Practical AnyTechLabs
Selenium + Cucumber 8th October 7.30 AM IST to 9.00 AM IST 45 Days Theory+Practical AnyTechLabs

A book "Cracking the QTP interview" authored by Sudhakar.Read More. Buy From FlipKart

## Sunday, January 17, 2010

### How to find Data Type of a Variable?

The data type of a variable can be indentified in two VBScript built-in functions.
1. Vartype
2. Typename
Vartype returns a numeric value indicating the sub datatype of a variable.
The below table contains return values that indicate respective subtypes.

#### Description

0
vbEmpty
Empty (uninitialized)
1
vbNull
Null (no valid data)
2
vbInteger
Integer
3
vbLong
Long integer
4
vbSingle
Single-precision floating-point number
5
vbDouble
Double-precision floating-point number
6
vbCurrency
Currency
7
vbDate
Date
8
vbString
String
9
vbObject
Automation object
10
vbError
Error
11
vbBoolean
Boolean
12
vbVariant
Variant (used only with arrays of Variants)
13
vbDataObject
A data-access object
17
vbByte
Byte
8192
vbArray
Array

Ex:
```Dim x

x=10
msgbox vartype(x)  'Returns 2

In the above table 2 indicates vbInteger datatype.So x is an integer type.```
`Typename directly returns the name of the Sub Datatype of a variable.`

 Sub Datatype Description Byte Byte value Integer Integer value Long Long integer value Single Single-precision floating-point value Double Double-precision floating-point value Currency Currency value Decimal Decimal value Date Date or time value String Character string value Boolean Boolean value; True or False Empty Unitialized Null No valid data
Ex:
```Dim x

x=10
msgbox typename(x)  'Returns “Integer”```
`There are some more VBScript Built-in functions to find whether a variable datatype is specific datatype or not.`
`IsArray – Returns a Boolean value indicating whether a variable is an array or not.`
`IsDate – Returns a Boolean value indicating whether an expression can be converted to a date.`
`IsEmpty – Returns a Boolean value indicating whether a variable has been initialized.`
`IsNull - Returns a Boolean value that indicates whether an expression contains no valid data (Null).`
`IsNumeric - Returns a Boolean value indicating whether an expression can be evaluated as a number.`
`IsObject - Returns a Boolean value indicating whether an expression references a valid Automation object.`
`Built in functions are available for only these datatypes. You can write built function for every datatype like below…`
```
```
```'*******************************
Function IsString(oValue)

If vartype(oValue)=8 then

IsString=true
Else
IsString=False
End If
End Function
'*******************************```

1. Silly ? on VBscript.
I set value as:
dim SQLR1
oCommand.CommandText = "SELECT MAX(BG_VTS) FROM BUG "
Set SQLR1 = oCommand.Execute
msgbox (VarType(SQLR1)) '''' 9
msgbox (IsObject(SQLR1)) '''' True
msgbox (SQLR1.BG_VTS) ''''**** BIG FAIL

How do I get the value within SQLR1?
(10 years ago I would have programmed this in 3 minutes, now I can't seem to remember anything)?

Thank you for your prompt response,
AMS...

2. you Are you trying to get data from DB. If so you should create a db connection. Observe the code in the below link
http://in.groups.yahoo.com/group/qtpsudhakar/message/505

3. Thank you for your prompt response. I am attaching to QC to verify last update field (on particular records) to see if I need to run backups (IE: Have the fields been updated today?)
Since I am attached to the database (being logged onto specific project,) running an sql should return the same.
Am I being naive in my approach?

Tna
AMS...