public int PopulateStatement(PreparedStatement ps, int startPosition) { int rpos = pos + startPosition - 1; if (value == null) { ps.setNull(rpos, sqlType); return(1); } switch (sqlType) { case Types.VARCHAR: { ps.SetString(rpos, (String)value); break; } case Types.INTEGER: { ps.SetInt(rpos, ((int)value)); break; } case Types.DOUBLE: { ps.SetDouble(rpos, ((double)value)); break; } case Types.SMALLINT: { ps.setShort(rpos, ((short)value)); break; } case Types.TIME: { ps.SetTime(rpos, ((TimeSpan)value)); break; } case Types.TIMESTAMP: { ps.SetTimestamp(rpos, ((DateTime)value)); break; } case Types.BIGINT: { ps.SetLong(rpos, ((long)value)); break; } case Types.FLOAT: { ps.SetFloat(rpos, ((float)value)); break; } case Types.DATE: { ps.SetDate(rpos, ((DateTime)value)); break; } default: { throw new Exception("Unhandled sql type " + sqlType); } } return(1); }