Foros del Web » Programando para Internet » Jquery »

Función para obtener el valor de un campo de la base de datos

Estas en el tema de Función para obtener el valor de un campo de la base de datos en el foro de Jquery en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/09/2014, 04:49
 
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.
  #2 (permalink)  
Antiguo 24/09/2014, 05:58
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: Función para obtener el valor de un campo de la base de datos

De momento esto funciona

procesosjson2.asp:

Código ASP:
Ver original
  1. If Proceso = "comprobarlogico" Then
  2.  
  3.     Set Registros = jsArray()
  4.    
  5.     'creamos un procedimiento que crea un objeto json
  6.     ' para añadir registros a una matriz.
  7.     Sub Add_Registrocomprobarlogico(valor)
  8.    
  9.         Set Registros(Null) = jsObject()
  10.        
  11.         Registros(Null)("valor") = Cstr(valor)
  12.        
  13.     End Sub
  14.  
  15.  
  16.     Nombre_Tabla = Request.QueryString("t")
  17.     Nombre_Campo = Request.QueryString("c")
  18.     Clausula_Where = Request.QueryString("w")
  19.    
  20.     Clausula_Where = Replace(Clausula_Where, "iguala", "=")
  21.  
  22.     Sql_ComprobarLogico = "Select " & Nombre_Campo & " From " & Nombre_Tabla
  23.    
  24.     If Clausula_Where <> "" Then Sql_ComprobarLogico = Sql_ComprobarLogico & " Where " & Clausula_Where
  25.  
  26.     Set RsComprobarLogico = Server.CreateObject("ADODB.Recordset")
  27.    
  28.     RsComprobarLogico.Open Sql_ComprobarLogico, Conn,3,1
  29.    
  30.     If RsComprobarLogico.Eof Then
  31.        
  32.         Add_Registrocomprobarlogico "false"
  33.        
  34.     Else
  35.  
  36.         Add_Registrocomprobarlogico RsComprobarLogico.Fields(0)
  37.        
  38.     End If
  39.    
  40.     RsComprobarLogico.close
  41.     set RsComprobarLogico = nothing
  42.  
  43.     Registros.Flush
  44.     Registros.Clean
  45.  
  46. End If

función comprobarlogico en jquery:

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.                     dataType: "json",
  8.                     type: "get",
  9.                     url: 'procesosjson2.asp',
  10.                     data: 'proceso=comprobarlogico&t=' + tabla + '&c=' + campo + '&w=' + where,
  11.                     success: function(data) {
  12.  
  13.                         resultado=data[0]['valor'];
  14.                        
  15.                     },
  16.                     error: function() {
  17.                         alert('Error occured');
  18.                     }
  19.                 });
  20.  
  21.                 return resultado;
  22.             }
  23.         </script>

uso de la función:

Código Javascript:
Ver original
  1. <script>
  2.         $(document).ready(function() {
  3.             if (comprobarlogico('sistema', 'id', 'idreg iguala 12')!='false')
  4.             {alert('hay valor!')}
  5.             else
  6.             {alert('es falso!')}
  7.         });
  8.         </script>
  #3 (permalink)  
Antiguo 24/09/2014, 08:07
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 9 meses
Puntos: 29
Respuesta: Función para obtener el valor de un campo de la base de datos

Estás seguro de que procesosjson2.asp devuelve algo? No veo en el asp ningún Response.Write (creo que era así ya no me acuerdo jajajaj) que devuelva contenido a la petición AJAX.
Asegúrate, abre la consola de tu navegador (ALT+F2 en firefox, f12 en chrome/ie) y mira la petición de red que crea ajax. Ahí verás una pestaña de respuesta que te trae el contenido del ASP.
Para acceder a elementos json se hace de otra forma que data[0]['valor'] pues no es un array, es un objeto literal:
Código Javascript:
Ver original
  1. //objeto literal o json
  2. var obj = { "resultado": true, "otrapropiedad": 'valor' }
  3.  
  4. //acceso al objeto
  5. console.log (obj.resultado) ; // devuelve "true"
  6. console.log (obj.otrapropiedad) ; // devuelve "valor"

Saludos
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 24/09/2014, 13:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: Función para obtener el valor de un campo de la base de datos

lo probaré, uso una librería:

https://code.google.com/p/aspjson/


y además está esta:

http://www.aspjson.com/

estaba tan harto que paré hasta mañana, os contaré.
  #5 (permalink)  
Antiguo 25/09/2014, 00:48
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: Función para obtener el valor de un campo de la base de datos

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.                     dataType: "json",
  8.                     type: "get",
  9.                     url: 'procesosjson2.asp',
  10.                     data: 'proceso=comprobarlogico&t=' + tabla + '&c=' + campo + '&w=' + where,
  11.                     success: function(data) {
  12.  
  13.                         //resultado=data[0]['valor'];
  14.                         resultado = data.valor;
  15.                        
  16.                     },
  17.                     error: function() {
  18.                         alert('Error occured');
  19.                     }
  20.                 });
  21.  
  22.                 return resultado;
  23.             }
  24.         </script>

de esta manera, no funciona, devuelve indefinido.

Etiquetas: ajax, asp, json
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:02.