Esempio n. 1
0
        public void PopulateStatement(PreparedStatement statement)
        {
            int size = parameters.Count;

            for (int i = 0; i < size; i++)
            {
                int      pos   = i + 1;
                SqlParam param = (SqlParam)parameters[pos];
                //TODO take into consideration null parameters
                switch (param.GetSqlType())
                {
                case Types.VARCHAR: {
                    statement.SetString(pos, (String)param.GetValue());
                    break;
                }

                case Types.DOUBLE: {
                    statement.SetDouble(pos, Convert.ToDouble(param.GetValue()));
                    break;
                }

                case Types.INTEGER: {
                    statement.SetInt(pos, Convert.ToInt32(param.GetValue()));
                    break;
                }

                case Types.DATE: {
                    statement.SetDate(pos, (DateTime)param.GetValue());
                    break;
                }

                case Types.TIME: {
                    statement.SetTime(pos, (TimeSpan)param.GetValue());
                    break;
                }

                case Types.TIMESTAMP: {
                    statement.SetTimestamp(pos, (DateTime)param.GetValue());
                    break;
                }

                default: {
                    throw new Exception("Unsupported param : " + param);
                }
                }
            }
        }
Esempio n. 2
0
        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);
        }