When I export the $dt to a CSV - it shows in 1.A of Excel = 1 and in 2.A = 2. I need to extract the two value of the second row in column A. First why is the count working? And why do I not get a return for the values in the last two echo commands when I know there is a value = 2 in Row#2 - Column A?
$factory = [System.Data.Common.DbProviderFactories]::GetFactory('IBM.Data.DB2')
$cstrbld = $factory.CreateConnectionStringBuilder()
$cstrbld.Database = 'mydb'
$cstrbld.UserID = 'user'
$cstrbld.Password = 'userpass'
$cstrbld.Server = 'server:port#'
$dbconn = $factory.CreateConnection()
$dbconn.ConnectionString = $cstrbld.ConnectionString
$dbconn.Open()
$dbcmd = $dbconn.CreateCommand()
$dbcmd.CommandText = 'SELECT COUNT(*) FROM dbname.UNIT WHERE STATUS = 3'
$rdr = $dbcmd.ExecuteReader()
$dt = New-Object System.Data.DataTable
$dt.Load($rdr)
$dbconn.Close()
echo $dt.rows.count
## Returns 1
echo $dt.rows[1]
## Returns nothing
echo $dt.rows[1].column0
## Returns nothing
code ```
CodePudding user response:
because index start to 0, try this:
$dt.rows[0]
$dt.Rows[0].ItemArray[0].ToString()