Foros del Web » Programando para Internet » ASP Clásico »

Problema con SQL Server

Estas en el tema de Problema con SQL Server en el foro de ASP Clásico en Foros del Web. Hola F's-d Web... bueno les comento mi problema: tengo una BD con una tabla donde almaceno datos relacionados a una fecha particular, parte de estos ...
  #1 (permalink)  
Antiguo 11/11/2004, 12:36
 
Fecha de Ingreso: octubre-2003
Mensajes: 49
Antigüedad: 21 años, 6 meses
Puntos: 0
Problema con SQL Server

Hola F's-d Web... bueno les comento mi problema:

tengo una BD con una tabla donde almaceno datos relacionados a una fecha particular, parte de estos datos son valores numericos. Los cuales mediante una sentencia SQL trato de sumar todos los registros dentro de un periodo determinado. pero cuando pregunto por un periodo donde no he asignado registros este igual entra a la asignacion que realizo dentro de la ejecucion de la sentencia (posteare el codigo para aclarar), en fin mi duda es sabe que resultado me devuelve la sentencia SQL

aqui va el codigo:

Cita:
SQL2="SELECT SUM(TOT_NET) AS RESULTADO1, SUM(TOT_BRU) AS RESULTADO2 FROM monitor WHERE (fec_vta >= CONVERT(DATETIME, '"&PERIODO1&"', 102)) AND (fec_vta <= CONVERT(DATETIME, '"&PERIODO2&"', 102)) AND COD_LOC="&COD_LOC&" AND TIP_DOC=20 "
SET RS2=Server.CreateObject("ADODB.Recordset")
RS2.Open SQL2, CONN2, 1, 2
IF NOT RS2.EOF THEN
DIM A
A=0
A=(RS2.FIELDS("RESULTADO1"))
IF A=0 THEN
X=0
ELSE
X=1
END IF

'TOT_BOL_NET=CDBL(RS2.FIELDS("RESULTADO1"))
'TOT_BOL_BRU=CDBL(RS2.FIELDS("RESULTADO2"))
else
X=3
END IF
espero que me puedan ayudar....
  #2 (permalink)  
Antiguo 11/11/2004, 13:37
 
Fecha de Ingreso: noviembre-2003
Ubicación: En uno de los países mas lindos: CHILE
Mensajes: 70
Antigüedad: 21 años, 6 meses
Puntos: 0
Otra consulta

hola, disculpa k te hga una consulta en vez de ayudar a aclarar tu duda, estoy trabajando en una BD sql serve y al intentar accesar a una pagina, me lanza este error:
Código PHP:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D)
[
Microsoft][ODBC SQL Server Driver][SQL Server]Error de inicio de sesión del usuario 'ING-113\IUSR_ING-113'.
/
cisap-server_jsp/M05_Ing/CtrlPlaDocs_y_Actividades.aspline 5 
k es donde tengo la conexion co nal Bd .
K tengo k hacer para poder solucionar este error.
Cambie la opcion de autenticarse en vez de windows, lo hice por SQL, pero me sigue lanzando el misdmo error.
  #3 (permalink)  
Antiguo 11/11/2004, 13:58
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Cita:
mi duda es sabe que resultado me devuelve la sentencia SQL
fallen_angel, no entendí tu duda ni tu problema ¿cuando no hay registros entra al IF, esa es?
  #4 (permalink)  
Antiguo 11/11/2004, 14:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 49
Antigüedad: 21 años, 6 meses
Puntos: 0
Cita:
Iniciado por Myakire
fallen_angel, no entendí tu duda ni tu problema ¿cuando no hay registros entra al IF, esa es?
esa es parte de la duda, pero opte por resolverla de este modo

Cita:
SQL2="SELECT SUM(TOT_NET) AS RESULTADO1, SUM(TOT_BRU) AS RESULTADO2 FROM monitor WHERE (fec_vta >= CONVERT(DATETIME, '"&PERIODO1&"', 102)) AND (fec_vta <= CONVERT(DATETIME, '"&PERIODO2&"', 102)) AND COD_LOC="&COD_LOC&" AND TIP_DOC=41 AND TIP_VTA=1"
SET RS2=Server.CreateObject("ADODB.Recordset")
RS2.Open SQL2, CONN2, 1, 2
IF NOT RS2.EOF THEN
A=(RS2.FIELDS("RESULTADO1"))
B=(RS2.FIELDS("RESULTADO2"))
IF VARTYPE(A) <> 1 AND VARTYPE(B)<>1 THEN
TOT_FAC_NET_INT=CDBL(RS2.FIELDS("RESULTADO1"))+TOT _FAC_NET_INT
TOT_FAC_BRU_INT=CDBL(RS2.FIELDS("RESULTADO2"))+TOT _FAC_BRU_INT
END IF
END IF
RS2.CLOSE
aclaro el concepto: al realizar la busqueda por periodo si ingresaba un periodo donde no existian registros, por logica no deveria entrar al primer IF, pero seguramente como la sentencia SQL era una suma este = ingresaba y me arrojaba un error al pasar los datos a una variable de tipo numerico.


darb te edjunto el codigo que ocupo para conectarme a una BD SQL SERVER

Cita:
SQL2="SELECT SUM(tot_net) AS resultado1, SUM(tot_bru) AS resultado2 FROM monitor WHERE (fec_vta >= CONVERT(DATETIME, '"&PERIODO1&"', 102)) AND (fec_vta <= CONVERT(DATETIME, '"&PERIODO2&"', 102)) AND COD_LOC="&COD_LOC&""
SET Conn2 = Server.CreateObject("ADODB.Connection")
SET RS2=Server.CreateObject("ADODB.Recordset")
CONN2.Open "Provider=SQLOLEDB.1;Password=(password_del_usuari o default);Persist Security Info=True;User ID=sa;Initial Catalog=(tu_base_de_datos);Data Source=localhost"
RS2.Open SQL2, CONN2, 1, 2
SA= usuario de la BD
la password debes de configurarla en el SQL SERVER
espero q sea de utilidad


PD:Mi problema esta solucionado, asi q se puede cerrar este post
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 14:29.