Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2014, 04:49
PabloManuel
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 11 meses
Puntos: 6
Función para obtener el valor de un campo de la base de datos

Hola!!

Estoy traduciendo muchos procesos de asp a jquery/ajax

y me he encontrado este problema

necesito saber el valor de un campo de la base de datos, tengo una función en asp que uso de forma recurrente en muchas partes del código:

Código ASP:
Ver original
  1. <%
  2. Function ComprobarLogico(Nombre_Tabla, Nombre_Campo, Clausula_Where)
  3.  
  4.     Sql_ComprobarLogico = "Select " & Nombre_Campo & " From " & Nombre_Tabla
  5.    
  6.     If Clausula_Where <> "" Then Sql_ComprobarLogico = Sql_ComprobarLogico & " Where " & Clausula_Where
  7.    
  8. 'rw Sql_ComprobarLogico
  9.  
  10.     Set RsComprobarLogico = Server.CreateObject("ADODB.Recordset")
  11.    
  12.     RsComprobarLogico.Open Sql_ComprobarLogico, Conn,3,1
  13.    
  14.     If RsComprobarLogico.Eof Then
  15.        
  16.         ComprobarLogico = False
  17.        
  18.     Else
  19.    
  20.         ComprobarLogico = RsComprobarLogico.Fields(0)
  21.        
  22.     End If
  23.    
  24.     RsComprobarLogico.close
  25.     set RsComprobarLogico = nothing
  26.  
  27. End Function
  28. %>

Le paso unos parámetros y me devuelve el valor del campo, o false en caso de que la consulta no devuelva registros.

Necesito lo mismo para jquery, ya que ahora mismo para mostrar una tabla, necesito saber si el usuario quiere ver la columna categorías o no en una tabla.

He probado con esto, pero estoy muy verde:
Código Javascript:
Ver original
  1. <script>
  2.             function comprobarlogico(tabla, campo, where){
  3.                 var resultado
  4.                 $.ajax({
  5.                     async : false,
  6.                     cache : false,
  7.                     type: "get",
  8.                     url: 'procesosajax.asp',
  9.                     data: 't=' + tabla + '&c=' + campo + '&w=' + where,
  10.                     success: function(data) {
  11.                         alert( $(data).find('#respuesta').html() );
  12.                         alert('data: '+data);
  13.                         //resultado=data;
  14.                        
  15.                     },
  16.                     error: function() {
  17.                         alert('Error occured');
  18.                     }
  19.                 });
  20.                
  21.                 return resultado;
  22.             }
  23.         </script>

lo he intentado con una devolución html, buscanco el contenido del id respuesta, pero no funciona.

creo que lo correcto es hacerlo a través de devoluciones json, pero no encuentro nada que me sirva, me podéis ayudar?

Este es el código de procesosajax:

Código ASP:
Ver original
  1. If Proceso = "comprobarlogico" Then
  2.  
  3.     Nombre_Tabla = Request.QueryString("t")
  4.     Nombre_Campo = Request.QueryString("c")
  5.     Clausula_Where = Request.QueryString("w")
  6.    
  7.     Clausula_Where = Replace(Clausula_Where, "iguala", "=")
  8.    
  9.     Response.Write "<div id='respuesta'>" & ComprobarLogico(Nombre_Tabla, Nombre_Campo, Clausula_Where) & "</div>"
  10. End If

Realmente sigo usando la función asp para que me pinte la respuesta y rescatarla con ajax.