/// <summary> /// Atribui uma localização, ou seja, uma representação de número real, ao Parâmetro de nome <paramref name="p_name"/>. /// </summary> /// <param name='p_name'> /// Nome do Parâmetro. /// </param> /// <param name='p_locale'> /// Localização, representação de número real, AMERICAN ou EUROPEAN. /// </param> /// <exception cref="Spartacus.Database.Exception">Exceção acontece quando o parâmetro não existir.</exception> public void SetLocale(string p_name, Spartacus.Database.Locale p_locale) { string v_name; int k; bool achou; v_name = p_name.ToUpper(); k = 0; achou = false; while (k < this.v_parameters.Count && !achou) { if (this.v_parameters[k].v_name == v_name) { achou = true; } else { k++; } } if (achou) { this.v_parameters[k].v_locale = p_locale; } else { throw new Spartacus.Database.Exception("Parâmetro de banco de dados {0} não existe.", v_name); } }
/// <summary> /// Lê parâmetro. /// </summary> /// <param name="p_reader">Objeto XML.</param> private void ReadParameter(System.Xml.XmlReader p_reader) { string v_name = null; Spartacus.Database.Type v_type = Spartacus.Database.Type.STRING; Spartacus.Database.Locale v_locale = Spartacus.Database.Locale.EUROPEAN; string v_datemask = null; string v_description = null; string v_lookup = null; while (p_reader.Read()) { if (p_reader.IsStartElement()) { switch (p_reader.Name) { case "name": v_name = p_reader.ReadString(); break; case "type": switch (p_reader.ReadString()) { case "INTEGER": v_type = Spartacus.Database.Type.INTEGER; break; case "REAL": v_type = Spartacus.Database.Type.REAL; break; case "BOOLEAN": v_type = Spartacus.Database.Type.BOOLEAN; break; case "CHAR": v_type = Spartacus.Database.Type.CHAR; break; case "DATE": v_type = Spartacus.Database.Type.DATE; break; case "STRING": v_type = Spartacus.Database.Type.STRING; break; case "QUOTEDSTRING": v_type = Spartacus.Database.Type.QUOTEDSTRING; break; case "UNDEFINED": v_type = Spartacus.Database.Type.UNDEFINED; break; default: break; } break; case "locale": switch (p_reader.ReadString()) { case "EUROPEAN": v_locale = Spartacus.Database.Locale.EUROPEAN; break; case "AMERICAN": v_locale = Spartacus.Database.Locale.AMERICAN; break; default: break; } break; case "datemask": v_datemask = p_reader.ReadString(); break; case "description": v_description = p_reader.ReadString(); break; case "lookup": v_lookup = p_reader.ReadString(); break; default: break; } } } this.v_cmd.AddParameter(v_name, v_type); if (v_type == Spartacus.Database.Type.REAL) { this.v_cmd.SetLocale(v_name, v_locale); } else if (v_type == Spartacus.Database.Type.DATE) { this.v_cmd.SetDateMask(v_name, v_datemask); } this.v_cmd.SetDescription(v_name, v_description); this.v_cmd.SetLookup(v_name, v_lookup); }