issues with getvavlues and bigint types
This commit is contained in:
parent
b6ee7b651e
commit
d889878e37
41
runner.cs
41
runner.cs
@ -32,6 +32,7 @@ namespace test
|
|||||||
msg = msg + nl + "-t trim text";
|
msg = msg + nl + "-t trim text";
|
||||||
msg = msg + nl + "--help info";
|
msg = msg + nl + "--help info";
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------parse args into variables-------------------------------------------------
|
//---------------------------------------parse args into variables-------------------------------------------------
|
||||||
|
|
||||||
for (int i = 0; i < args.Length; i = i +1 ){
|
for (int i = 0; i < args.Length; i = i +1 ){
|
||||||
@ -121,6 +122,7 @@ namespace test
|
|||||||
//setup getv object array dimensioned to number of columns for scenario
|
//setup getv object array dimensioned to number of columns for scenario
|
||||||
//getv hold an array of datareader row
|
//getv hold an array of datareader row
|
||||||
var getv = new object[ibmdr.FieldCount];
|
var getv = new object[ibmdr.FieldCount];
|
||||||
|
int cols = ibmdr.FieldCount;
|
||||||
//dtn holds list of data types per column
|
//dtn holds list of data types per column
|
||||||
var dtn = new string[ibmdr.FieldCount];
|
var dtn = new string[ibmdr.FieldCount];
|
||||||
while (ibmdr.Read()) {
|
while (ibmdr.Read()) {
|
||||||
@ -129,46 +131,59 @@ namespace test
|
|||||||
nr = "";
|
nr = "";
|
||||||
//populate all the data type names into a string array instead of calling against ibmdr in every iteration
|
//populate all the data type names into a string array instead of calling against ibmdr in every iteration
|
||||||
if (t == 1 ) {
|
if (t == 1 ) {
|
||||||
for (int i = 0; i < ibmdr.GetValues(getv); i++){
|
for (int i = 0; i < cols; i++){
|
||||||
dtn[i] = ibmdr.GetDataTypeName(i);
|
dtn[i] = ibmdr.GetDataTypeName(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for ( int i = 0 ; i < ibmdr.GetValues(getv);i++) {
|
for (int i = 0 ; i < cols;i++) {
|
||||||
if (getv[i] != null) {
|
//Console.Write(nl);
|
||||||
|
//Console.Write(DBNull.Value.Equals(ibmdr.GetValue(i)).ToString());
|
||||||
|
//Console.Write(ibmdr.GetValue(i).ToString());
|
||||||
|
Boolean dnull = false;
|
||||||
|
if (dtn[i] == "BIGINT") {
|
||||||
|
dnull = DBNull.Value.Equals(ibmdr.GetInt64(i));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dnull = DBNull.Value.Equals(ibmdr.GetValue(i));
|
||||||
|
}
|
||||||
|
if (! dnull) {
|
||||||
switch (dtn[i]){
|
switch (dtn[i]){
|
||||||
case "VARCHAR":
|
case "VARCHAR":
|
||||||
if (trim) {
|
if (trim) {
|
||||||
nc = "'" + getv[i].ToString().Replace("'","''").TrimEnd() + "'";
|
nc = "'" + ibmdr.GetValue(i).ToString().Replace("'","''").TrimEnd() + "'";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
nc = "'" + getv[i].ToString().Replace("'","''") + "'";
|
nc = "'" + ibmdr.GetValue(i).ToString().Replace("'","''") + "'";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "CHAR":
|
case "CHAR":
|
||||||
if (trim) {
|
if (trim) {
|
||||||
nc = "'" + getv[i].ToString().Replace("'","''").TrimEnd() + "'";
|
nc = "'" + ibmdr.GetValue(i).ToString().Replace("'","''").TrimEnd() + "'";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
nc = "'" + getv[i].ToString().Replace("'","''") + "'";
|
nc = "'" + ibmdr.GetValue(i).ToString().Replace("'","''") + "'";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "DATE":
|
case "DATE":
|
||||||
if (getv[i].ToString() == "1/1/0001 12:00:00 AM" || getv[i].ToString() == "") {
|
if (ibmdr.GetValue(i).ToString() == "1/1/0001 12:00:00 AM" || ibmdr.GetValue(i).ToString() == "") {
|
||||||
nc = "NULL";
|
nc = "NULL";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
nc = "'" + getv[i].ToString() + "'";
|
nc = "'" + ibmdr.GetValue(i).ToString() + "'";
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "TIME":
|
case "TIME":
|
||||||
nc = "'" + getv[i].ToString() + "'";
|
nc = "'" + ibmdr.GetValue(i).ToString() + "'";
|
||||||
break;
|
break;
|
||||||
case "TIMESTAMP":
|
case "TIMESTAMP":
|
||||||
nc = "'" + getv[i].ToString() + "'";
|
nc = "'" + ibmdr.GetValue(i).ToString() + "'";
|
||||||
|
break;
|
||||||
|
case "BIGINT":
|
||||||
|
nc = ibmdr.GetInt64(i).ToString();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (getv[i].ToString() != "") {
|
if (ibmdr.GetValue(i).ToString() != "") {
|
||||||
nc = getv[i].ToString();
|
nc = ibmdr.GetValue(i).ToString();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
nc = "NULL";
|
nc = "NULL";
|
||||||
|
Loading…
Reference in New Issue
Block a user