private void asiganaTipoDato(int i, CNodoAtributo auxAtri) { string cad = null; switch (auxAtri.getTipo()) { case 1: cad = "char"; break; case 2: cad = "short"; break; case 3: cad = "int"; break; case 4: cad = "float"; break; case 5: cad = "long"; break; case 6: cad = "double"; break; case 7: cad = "string"; break; } TablaDeAtributos.Rows[i].Cells[3].Value = cad; }
/** Actualiza un atributo*/ public void modificaAtributo(string nameEnt, string nameAtri, CNodoAtributo nuevo) { CNodoEntidad nodoVert = null; CNodoAtributo nodoAtri; if (nameAtri.CompareTo(nuevo.getNombre()) != 0) { BajaAtributo(nameEnt, nameAtri); AltaAtributo(nuevo, nameEnt); } else { buscaEntidad(ref nodoVert, nameEnt); if (nodoVert != null) { AbrirArchivo(); nodoAtri = nodoVert.getCabListAtri(); while (nodoAtri != null && nodoAtri.getNombre().CompareTo(nameAtri) != 0) nodoAtri = nodoAtri.getSigAtri(); if (nodoAtri != null) { nodoAtri.setClavePrimaria(nuevo.getClave()); nodoAtri.setTipo(nuevo.getTipo()); nodoAtri.setNameTipo(nuevo.getNameTipo()); nodoAtri.setTamaño(nuevo.getTamaño()); nodoAtri.setEntRel(nuevo.getEntRel()); nodoAtri.setApEntRel(nuevo.getApEntRel()); nuevo.setDir(nodoAtri.getDir()); nuevo.setApSigAtri(nodoAtri.getApSigAtri()); escribeAtributo(nuevo, nuevo.getDir()); } CerrarArchivo(); } } }
private CNodoAtributo creaNuevoAtri(DCapturaAtributo dlgAtri) { CNodoAtributo nuevo = new CNodoAtributo(); int tam = 0, clave = 0; string ent; if (dlgAtri.clave.Checked == true) clave = 1; nuevo.setClavePrimaria(clave); nuevo.setNombre(dlgAtri.tbName.Text); nuevo.setTipo(dlgAtri.cbTipo.SelectedIndex + 1); switch (nuevo.getTipo()) { case 1://Char tam = 1; break; case 2://short tam = 2; break; case 3://int tam = 4; break; case 4://float tam = 4; break; case 5://long tam = 8; break; case 6://double tam = 8; break; case 7://string tam = Convert.ToInt32(dlgAtri.tbTamaño.Text); break; } nuevo.setTamaño(tam); ent = dlgAtri.cbListEnt.Text; CNodoEntidad aux; for (aux = archivo.getListaEntidad().getCabListEnt(); aux != null && aux.getNombre() != ent; aux = aux.getSigEnt()) ; if (aux != null) { nuevo.setEntRel(aux); nuevo.setApEntRel(aux.getDir()); } return (nuevo); }
/** Escribe un atributo en el archivo del diccionario*/ private void escribeAtributo(CNodoAtributo nuevo, long posA) { bw.BaseStream.Seek(posA, SeekOrigin.Begin); bw.Write(nuevo.getApSigAtri()); bw.Write(nuevo.getClave()); bw.Write(nuevo.getNombre()); bw.Write(nuevo.getTipo()); bw.Write(nuevo.getTamaño()); bw.Write(nuevo.getApEntRel()); bw.Write(nuevo.getDir()); }