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

Dos problemas con sql.

Estas en el tema de Dos problemas con sql. en el foro de ASP Clásico en Foros del Web. El primero es este : Desde el mismo sql no ya desde asp me pasa esto : Si escribo esto : SELECT tblCategory.Cat_name, tblCategory.Cat_ID FROM ...
  #1 (permalink)  
Antiguo 12/07/2004, 05:10
 
Fecha de Ingreso: marzo-2003
Mensajes: 90
Antigüedad: 22 años, 1 mes
Puntos: 0
Dos problemas con sql.

El primero es este :

Desde el mismo sql no ya desde asp me pasa esto :

Si escribo esto :

SELECT tblCategory.Cat_name, tblCategory.Cat_ID FROM tblCategory ORDER BY
tblCategory.Cat_order ASC

me muestra todos los datos correctamente.

Entonces creo esto :

CREATE PROCEDURE [dbo].[wwfSpCategoryAll] AS SELECT tblCategory.Cat_name,
tblCategory.Cat_ID FROM tblCategory ORDER BY tblCategory.Cat_order ASC;
GO

Y ejecuto esto :

execute wwfSpCategoryAll

Y siempre me muestra nada, tanto desde sql como desde asp.

¿Sabeis que puede ser?, en local me funcionaba todo perfectamente ha sido al
subirlo al sql.

¿Alguna idea?.



El segundo es este :

Tengo esto :

strSQL = "SELECT TOP 1 " & strDbTable & "PMMessage.* FROM " & strDbTable & "PMMessage WHERE " & strDbTable & "PMMessage.Author_ID = " & lngToUserID & " ORDER BY " & strDbTable & "PMMessage.PM_Message_Date DESC;"

With rsCommon
.CursorType = 2
.LockType = 3
.Open strSQL, adoCon
.AddNew

Entonces me peta en el addnew y me pone esto :

Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype.

He probado a ponerlo 3 , 3 quitarlo ... etc etc y siempre me da los mismos resultados.

¿Que puede ser?.

Gracias anticipadas. Un saludo.
  #2 (permalink)  
Antiguo 12/07/2004, 05:28
Avatar de SunDarK  
Fecha de Ingreso: diciembre-2003
Ubicación: Jerez de la Frontera
Mensajes: 1.193
Antigüedad: 21 años, 5 meses
Puntos: 8
Respecto al primer problema,el servidor al que subes el procedimiento almacenado,es contratado o es tuyo propio?si es contratado dudo que tengas permisos sobre la base de datos DBO,tendrás que cambiar eso por el nombre de la base de datos que hayas creado en el servidor
Respecto al segundo problema si lo que va dentro del Where es una cadena de caracteres tienes que poner ',es decir quedaría
Cita:
strSQL = "SELECT TOP 1 " & strDbTable & "PMMessage.* FROM " & strDbTable & "PMMessage (WHERE " & strDbTable & "PMMessage.Author_ID = '" & lngToUserID & "') ORDER BY " & strDbTable & "PMMessage.PM_Message_Date DESC;"
Si no te sale así y lo estas usando para actualizar(por lo que pone en el error que te da),puede ser porque no tengas permisos para actulizar sobre la base de datos
Un saludo y suerte
  #3 (permalink)  
Antiguo 12/07/2004, 08:29
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
En el segundo problema:
Ejecuta un commando que invoque a un sp.
Set adoConn = Server.CreateObject("adodb.connection")
sConn = "Driver={SQL Server};SERVER=10.1.1.1; DATABASE=DB;UID=User;PWD=Psw"
adoConn.IsolationLevel=256
adoConn.Open sConn
adoConn.BeginTrans
dim cmd
set cmd=server.CreateObject("ADODB.command")
Set cmd.ActiveConnection = adoConn
cmd.CommandText = "iRegistro"
cmd.CommandType=adCmdStoredProc
.....
cmd.Execute
.... etc, etc.

En el primero, yo lo haría (digo, para que complicar):
CREATE PROCEDURE wwfSpCategoryAll
AS
SELECT Cat_name, Cat_ID FROM tblCategory ORDER BY Cat_order ASC
GO
Sin olvidar dar permisos de ejecución (aunque ese no es tu problema ya que no te da error) al usuario con el que te conectas.

Saludos
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 08:00.