Secciones de la página

sql. tol


Declaraciones


Funciones


Time oriented language


Árbol de ficheros

Funciones

Text SqlLitNam()

Text SqlResAnd()

Set SqlResLst()

Tol

Artículos del sitio

Presentación de Tol

Todos los programas

Simuladores visuales

Sitios que me gustan

Por categorías

Algoritmia

Búsqueda y ordenación

Computación fisiológica

Editorial y edición

Gráficos de datos

Herramientas y utilidades

Hipertexto

Informática forense

Lectura óptica de datos

Metaprogramación

No determinista

Ofimática

Recursión e iteración

Reglas y restricciones

Series y estadística









sql.tol de SHi.SyntaxHighlight

Funciones con los queries basicos de la aplicacion

Declaraciones

Funciones

  • Text SqlLitNam(Text ctrCod, Text domCod, Text anyCod)
    Retorna el nombre de algo dado un periodo, su dominio y su codigo.
  • Text SqlResAnd(Text ctrCod, Text prgCod, Text gruCod, Text curCod, Text prfCod, Text asiCod, Text preCod)
    Retorna una serie de condiciones Sql para la tabla Respuestas enlazadas con el operador and. Aquellos argumentos de entrada cuyo valor sea nulo no apareceran en la serie de condiciones.
  • Set SqlResLst(Text ctrCod, Text prgCod, Text gruCod, Text curCod, Text prfCod, Text asiCod, Text preCod)
    Retorna la lista de respuestas que cumplen unas determinadas condiciones de control, programa, grupo, curso, profesor, asignatura y pregunta. Aquellos campos para los que su codigo sea nulo quedan libres en el query. El campo Respuesta es de texto pues se admite la respuesta ?, pero en este querie el campo Respuesta se convierte a entero CInt().

Funciones

Text SqlLitNam()

//////////////////////////////////////////////////////////////////////////////
Text SqlLitNam(Text ctrCod, // Control, periodo en el que se realiza
               Text domCod, // Dominio
               Text anyCod) // Codigo de para localizar el nombre
//////////////////////////////////////////////////////////////////////////////
{
  Text sqlTxt = "
    select Etiqueta
    from   Literal
    where
      Control = '"+ctrCod+"' and "+
    " Dominio = '"+domCod+"' and "+
    " Codigo  = '"+anyCod+"'; ";

  Set sqlSet = DBTable(sqlTxt);

  If(EQ(Card(sqlSet),1), sqlSet[1][1], "ERROR") // Solo puede haber 1
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Retorna el nombre de algo dado un periodo, su dominio y su codigo.",
SqlLitNam);
//////////////////////////////////////////////////////////////////////////////

Text SqlResAnd()

//////////////////////////////////////////////////////////////////////////////
Text SqlResAnd(Text ctrCod, // Control, periodo
               Text prgCod, // Codigo de programa (opcional)
               Text gruCod, // Codigo de grupo (opcional)
               Text curCod, // Codigo de curso (opcional)
               Text prfCod, // Codigo del profesor (opcional)
               Text asiCod, // Codigo de la asignatura (opcional)
               Text preCod) // Codigo de pregunta
//////////////////////////////////////////////////////////////////////////////
{
  Text ctrQry = If(ctrCod=="", "", "Control    = '"+ctrCod+"'");
  Text prgQry = If(prgCod=="", "", "Programa   = '"+prgCod+"'");
  Text gruQry = If(gruCod=="", "", "Grupo      = '"+gruCod+"'");
  Text curQry = If(curCod=="", "", "Curso      = '"+curCod+"'");
  Text prfQry = If(prfCod=="", "", "Profesor   = '"+prfCod+"'");
  Text asiQry = If(asiCod=="", "", "Asignatura = '"+asiCod+"'");
  Text preQry = If(preCod=="", "", "Pregunta   = '"+preCod+"'");
  
  Set  wheSet = [[ctrQry, prgQry, gruQry, curQry, prfQry, asiQry, preQry]];
  Set  wheSel = Select(wheSet, Real(Text txtQry) { txtQry != "" });
  
  Set2Txt(wheSel, "", "", " and ", " and ", "", "", "", "")
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Retorna una serie de condiciones Sql para la tabla Respuestas enlazadas con
el operador and.
Aquellos argumentos de entrada cuyo valor sea nulo no apareceran en la 
serie de condiciones.",
SqlResAnd);
//////////////////////////////////////////////////////////////////////////////

Set SqlResLst()

//////////////////////////////////////////////////////////////////////////////
Set SqlResLst(Text ctrCod, // Control, periodo
              Text prgCod, // Codigo de programa (opcional)
              Text gruCod, // Codigo de grupo (opcional)
              Text curCod, // Codigo de curso (opcional)
              Text prfCod, // Codigo del profesor (opcional)
              Text asiCod, // Codigo de la asignatura (opcional)
              Text preCod) // Codigo de pregunta
//////////////////////////////////////////////////////////////////////////////
{
  Text wheQry = SqlResAnd(ctrCod,prgCod,gruCod,curCod,prfCod,asiCod,preCod);

  Text sqlTxt = "
    select CInt(Respuesta)
    from   Respuesta 
    where 
      Respuesta >= '1' and
      Respuesta <= '5' and 
    " + wheQry + ";";

//Text WriteLn(sqlTxt);

  Set sqlSet = DBTable(sqlTxt);

  If(Card(sqlSet), Traspose(sqlSet)[1], Empty)
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Retorna la lista de respuestas que cumplen unas determinadas condiciones de
control, programa, grupo, curso, profesor, asignatura y pregunta.
Aquellos campos para los que su codigo sea nulo quedan libres en el query.
El campo Respuesta es de texto pues se admite la respuesta ?,
pero en este querie el campo Respuesta se convierte a entero CInt().",
SqlResLst);
//////////////////////////////////////////////////////////////////////////////

Time oriented language

//////////////////////////////////////////////////////////////////////////////
// FILE    : sql.tol
// AUTHOR  : http://www.asolver.com
// PURPOSE : Funciones con los queries basicos de la aplicacion
//////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////
// FUNCTIONS
//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
Text SqlLitNam(Text ctrCod, // Control, periodo en el que se realiza
               Text domCod, // Dominio
               Text anyCod) // Codigo de para localizar el nombre
//////////////////////////////////////////////////////////////////////////////
{
  Text sqlTxt = "
    select Etiqueta
    from   Literal
    where
      Control = '"+ctrCod+"' and "+
    " Dominio = '"+domCod+"' and "+
    " Codigo  = '"+anyCod+"'; ";

  Set sqlSet = DBTable(sqlTxt);

  If(EQ(Card(sqlSet),1), sqlSet[1][1], "ERROR") // Solo puede haber 1
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Retorna el nombre de algo dado un periodo, su dominio y su codigo.",
SqlLitNam);
//////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////
Text SqlResAnd(Text ctrCod, // Control, periodo
               Text prgCod, // Codigo de programa (opcional)
               Text gruCod, // Codigo de grupo (opcional)
               Text curCod, // Codigo de curso (opcional)
               Text prfCod, // Codigo del profesor (opcional)
               Text asiCod, // Codigo de la asignatura (opcional)
               Text preCod) // Codigo de pregunta
//////////////////////////////////////////////////////////////////////////////
{
  Text ctrQry = If(ctrCod=="", "", "Control    = '"+ctrCod+"'");
  Text prgQry = If(prgCod=="", "", "Programa   = '"+prgCod+"'");
  Text gruQry = If(gruCod=="", "", "Grupo      = '"+gruCod+"'");
  Text curQry = If(curCod=="", "", "Curso      = '"+curCod+"'");
  Text prfQry = If(prfCod=="", "", "Profesor   = '"+prfCod+"'");
  Text asiQry = If(asiCod=="", "", "Asignatura = '"+asiCod+"'");
  Text preQry = If(preCod=="", "", "Pregunta   = '"+preCod+"'");
  
  Set  wheSet = [[ctrQry, prgQry, gruQry, curQry, prfQry, asiQry, preQry]];
  Set  wheSel = Select(wheSet, Real(Text txtQry) { txtQry != "" });
  
  Set2Txt(wheSel, "", "", " and ", " and ", "", "", "", "")
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Retorna una serie de condiciones Sql para la tabla Respuestas enlazadas con
el operador and.
Aquellos argumentos de entrada cuyo valor sea nulo no apareceran en la 
serie de condiciones.",
SqlResAnd);
//////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////
Set SqlResLst(Text ctrCod, // Control, periodo
              Text prgCod, // Codigo de programa (opcional)
              Text gruCod, // Codigo de grupo (opcional)
              Text curCod, // Codigo de curso (opcional)
              Text prfCod, // Codigo del profesor (opcional)
              Text asiCod, // Codigo de la asignatura (opcional)
              Text preCod) // Codigo de pregunta
//////////////////////////////////////////////////////////////////////////////
{
  Text wheQry = SqlResAnd(ctrCod,prgCod,gruCod,curCod,prfCod,asiCod,preCod);

  Text sqlTxt = "
    select CInt(Respuesta)
    from   Respuesta 
    where 
      Respuesta >= '1' and
      Respuesta <= '5' and 
    " + wheQry + ";";

//Text WriteLn(sqlTxt);

  Set sqlSet = DBTable(sqlTxt);

  If(Card(sqlSet), Traspose(sqlSet)[1], Empty)
};
//////////////////////////////////////////////////////////////////////////////
PutDescription(
"Retorna la lista de respuestas que cumplen unas determinadas condiciones de
control, programa, grupo, curso, profesor, asignatura y pregunta.
Aquellos campos para los que su codigo sea nulo quedan libres en el query.
El campo Respuesta es de texto pues se admite la respuesta ?,
pero en este querie el campo Respuesta se convierte a entero CInt().",
SqlResLst);
//////////////////////////////////////////////////////////////////////////////

Árbol de ficheros

SHi.SyntaxHighlight funciones de sintaxis realzada de codigo

  • make.tol programa de test de las funciones de sintaxis realzada en Tol
  • make.bat mandato de ejecucion del programa de test de realce de sintaxis
  • tol directorios que contienen fichero de codigo fuente Tol
    • cmm funciones comunes de manejo y generacion de textos y Html
      • txt.tol funciones para el manejo y la transformacion de textos
      • htm.tol funciones para generar codigo fuente en lenguaje Html
    • app funciones especificas de aplicacion de sintaxis realzada
      • shi.tol sintaxis realzada de código fuente en Tol, Xml, Html, etc.
    • inc.tol fichero con ordenes de inclusion de otros ficheros Tol
  • code.inp directorio con ficheros de codigo en diversos lenguajes para pruebas
    • arr.js codigo fuente en lenguaje Javascript
    • cmm.css ejemplo de Css, Cascading Style Sheets
    • edi.sql lenguaje Sql, Structured Query Language
    • gif.gpl fichero de especificacion de mandatos Gnuplot
    • gpl.tol ejemplo de Tol invocando a Gnuplot
    • map.xml ejemplo de codigo Xml, eXtensible Markup Language
    • pdf.bat ficheros de mandatos de Windows de Microsoft
    • see.htm lenguaje Html, HyperText Markup Language
    • sql.tol ejemplo de lenguaje Tol con codigo Sql embebido
  • code.out directorio de resultados con el codigo de entrada realzado
  • resultado.html codigos fuente realzado en varios lenguajes de programacion
  • shi_syntaxhighlight.pdf documento de funciones de la libreria de realce de sintaxis

2015 asolver.com | Aviso legal | XHTML | Δ Θ Ξ | Creative Commons | Mapa y funciones del sitio

Tol