Inicio / Wikis / Cursos gratis / Generadores de Codigo - Reconocimiento de Patrones

Generadores de Codigo - Reconocimiento de Patrones

Curso gratis creado por Vieravictor Balanta
07 de Marzo de 2006
Arquitectura de sistemasCalidad en sistemas informáticosHerramientas de ingeniería del softwareMetodologías de producción de softwareIngeniería del software

4 - Reconocimiento de Patrones

Cuando se Escribe una instrucción sql como "insert" se pueden identificar palabras que no varían, es decir, cada vez que se codifica la instrucción esta contiene partes que siempre se escriben igual y que son de carácter obligatorio. por ejemplo en la instrucción "insert" encontramos los siguientes patrones:

INSERT INTO    VALUES

IDENTIFICACION DE INSTRUCCIONES VARIABLES

Las partes variables en la instrucción"Insert" son las siguientes:

La tabla en la cual se hace la inserción, Los campos y los valores respectivos.

Las partes variables se muestran en negrilla para su identificación.

INSERT INTO TABLA (CAMPO1,CAMPO2,CAMPO3,CAMPON) VALUES(VAL1,VAL2,VAL3,VALn).

Otra forma mas practica de ver lo anterior es referirnos a la sintaxis de la instrucción, que indica la estructura y conformación adecuada de la sentencia insert de sql.
           
          Figura 4.1 sintaxis de sentencia Insert Sql

En el ejemplo siguiente se codifica en lenguaje de programación                                                     

funcion de borrado de un registro de una tabla (lenguaje PhP)

############################################################################## #

function del(campo,tabla,nombre)

{

//campo :nombre del campo por el cual se borra (indice)

// tabla :tabla de donde se borra

//nombre :nombre de la funcion de borrado a generar . Ejemplo  Borrarsql

// la Cadena resultante es una función de borrado en el lenguaje php

var parametros=" ";

var a=" ";

//declaracion de la funcion

var inscar="function delete_"+nombre+

;</P>
<P>parametro de entrada</P>
<P>parametros=inscar+"($"+campo +"){ ";</P>
<P>
patron delete</P>
<P>cadenadelete="\"DELETE ";</P>
<P>patron from + nombre tabal + where + condicion</P>
<P>cadenawhere=" FROM "+tabla+ " Where ID=$"+campo+ "\")";</P>
<P>
exception</P>
<P>ordie= "or die (\"Error!! in administration : unable execute sql query delete <br> \n\");";</P>
<P>cadenado="$rs = odbc_do($coneccion,";</P>
<P>unificacion de la cadena</P>
<P>cadenado=parametros+cadenado+cadenadelete+cadenawhere+ordie+"\n\n\n" +"}";</P>
<P>return (cadenado);</P>
<P>}
selects</P>
<P> #</P>
<P>funcion  para una lista automática. </P>
<P>Parametros:</P>
<P>$codigo            =Valor seleccionado por el usuario<BR>$nombrelista  =Nombre de la lista <BR>$sql                  =Select de la lista(select codigo,nombre from clientes)<BR>$conn               = conexion de base de datos</P>
<P><BR>function lista_genericasnos($codigo,$nombrelista,$sql,$conn)<BR>{<BR>echo "<select name=$nombrelista>";<BR>   while (odbc_fetch_row($rs))<BR>   {<BR>   $codigo1 = odbc_result($rs,1);<BR>   $nombre = odbc_result($rs,2);</P>
<P><BR>   if($codigo
$codigo1)<BR>   {<BR>                  $selected='selected';<BR>         }else{<BR>                  $selected=" ";<BR>         }<BR>   echo "<option value=\"$codigo1\" $selected>$nombre</option>";<BR>     }<BR> echo "</select>";<BR>}<BR>#</P> <P>adiciona un registro genericamente</P>
<P>$tabla  =Tabla a adicionar el registro<BR>$campos  =Lista de campos separados por comas (a,b,c,d)<BR>$valores        =Valores de cada campor   (1,2,3)<BR>$conn           =Conexion</P>
<P>function adicionaRegistro_generico($tabla,$campos,$valores,$conn)<BR>{</P>
<P> $query1 = "insert into ". $tabla  .$campos.  " values ". $valores;<BR> odbc_exec($conn, $query1);<BR>}</P>
<P>
</P>
<P>Trae todos los datos de un registro </P>
<P>$codigo                   = indide del registro buscado <BR>$camposfuentes   =campos de los cuales se saca los datos : a,b,c<BR>$tabla                      =tabla de la cual se extraen los datos<BR>$ncampos              = nuero de campos (en este caso 3 a,b,c)<BR>$campoClave         = como se llama el indice de la tabla(campo llave)<BR>$conn                       =<SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: ES; mso-fareast-language: ES; mso-bidi-language: AR-SA">conexión</SPAN></P>
<P>ejemplo   Select a,b,c from ejemplo where idejemplo=1<BR></P>
<P>function TraerDatos_registro($codigo,$camposfuentes,$tabla,$ncampos,$campoClave,$conn)<BR>{<BR>  $datoss=array();<BR>  $sql="select ".  $camposfuentes." from ". $tabla." where " .$campoClave ."=".$codigo;  </P>
<P>  $rs = odbc_exec($conn, $sql);</P>
<P> while (odbc_fetch_row($rs))<BR>   {</P>
<P>          for ($k=0;$k<$ncampos;$k++){<BR>   $datoss[$k] = odbc_result($rs,$k+1);</P>
<P>   }</P>
<P>  }
while<BR>  return($datoss); </P>
<P>
</P>
<P>Modificar datos en un registro</P>
<P>$tabla                   = tabla a la que se le modificaran los registros<BR>$condición           =campo=valor,campo2=valor2....campon=valorn<BR>$campo                =campo llave da la tabla eje. Codigo <BR>$registro             = indice del registro a modificar</P>
<P>$conn                       =<SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: ES; mso-fareast-language: ES; mso-bidi-language: AR-SA">conexión</SPAN></P>
<P><STRONG>sql=update clientes  set nombre="nuevo nombre" where codigo=3</STRONG></P>
<P>function modificar_registro_tipo($tabla,$condicion,$campo,$registro,$tipo,$conn)<BR>{<BR>$sql="update ". $tabla . " set ". $condicion . " where ". $campo ." = ".$registro ;</P>
<P> if(!odbc_exec($conn,$sql)){<BR>     trigger_error ("Error [modificando] : al momento de modificar ", E_USER_ERROR);<BR>     return false;<BR>  }<BR>}</P>
<P>
#</P>
<P>Se pude pensar en un programa basico de generación de sentencias sql como el de la figura siguiente.</P>
<P>                  <IMG src="http://www.wikilearning.com/imagescc/10114/9278_4_2.jpg"></P>
<P><STRONG>      </STRONG> <STRONG><STRONG>Figura 4.2 Software básico de Generación de sentencias Sql</STRONG></STRONG> </P>
<P>El objetivo es brindarle al lector ideas basicas, que sean un aliciente para crear programas de <STRONG>generación de código</STRONG>, que hasta hoy solo las grandes compañias de software han desarrollado y vendido a un eleveado costo.</P>
<P>Cuando se escriben lineas de codigo fuente; muchas de estas lineas se repetiran, y ¿porque volverlas a escribir, cuando se pueden generar?.</P>""
Valora este capítulo:
Autor y licencia de 'Generadores de Codigo - Reconocimiento de Patrones'

Opiniona sobre 'Generadores de Codigo - Reconocimiento de Patrones' (0)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este curso gratis



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Generadores de Codigo - Reconocimiento de Patrones'

El reconocimiento como herramienta estratégica trae consigo fuertes cambios positivos dentro de una organización. Más »
La elección del lenguaje con el que se implementará afecta el uso de los patrones... Más »
Una web es mucho más que abrir el block de notas y ponerse a tirar... Más »
Nadie discute que Marx, Durkheim y Weber son los teóricos que colocan las piedras fundamentales... Más »
En los años setenta convergen en España una serie de discursos vinculados a conceptos de... Más »
¿Estás seguro de que deseas eliminar este capítulo?