Problema ASP y bases de datos

Carolina
04 de Octubre del 2003
Hola! Qué tal?
Me he leido unos cuantos manuales de ASP pero sigo sin solucionar un problemilla.No puedo borrar ni actualizar registros, sólo mostrarlos...No funciona ni con sentencias SQL ni con el UPDATE y DELETE del recordset(que es lo que yo quiero que funcione).

He definido de varias formas los objetos Connection y Recordset.Os mando una de ellas:

set cnn = Server.CreateObject("ADODB.connection")
cnn.ConnectionString = "DSN=ejemplo"

Set rst = Server.CreateObject("ADODB.recordset")
rst.Open "SELECT * FROM Tabla1", cnn, adOpenDynamic, adLockOptimistic

El error que me dá con el update es : "Base de datos de sólo lectura", y con el delete me dice que no se ha podido borrar ningún registro (incluso usando sentencias sql)

Espero que alguien me pueda echar una mano. GRACIAS!!!!!

Carol.

cristian2
04 de Octubre del 2003
Que Tipo de BD estas Usando .

neftman
04 de Octubre del 2003
Seguramente no tengas permiso para modificar la BD, si trabajas en local debes habilitar el directorio donde tengas la BD, haciendo c con el boton derecho del ratón, en propiedades. Si estas trabajando con un servidor seguramente debas contactar con él para que habilite.
Suerte

estevez
04 de Octubre del 2003

Hola ,

Creo que tienes algunos errores de programacion,
soy programador de ASP y creo que te puedo ayudar.

Antes , que nada , siempre a la hora de programar deves tener una buena , documentacion , me refiero a un buen libro , o ayudas en linea. Despues de la documentacion deves buscar un buen software , yo por ejemplo utilizo Macromedia Dreamweaver MX, y tengo bastantes libros de base de datos , ademas de la ayuda de MSN en linea.

te voy a poner un ejemplo , de como deve ser la conexcion,

Conectar con una base de datos
El primer paso para tener acceso a la información de una base de datos consiste en establecer una conexión con el origen de datos. ADO proporciona el objeto Connection, que puede utilizar para establecer y administrar las conexiones entre sus aplicaciones y las bases de datos de ODBC. El objeto Connection incorpora diversas propiedades y métodos que puede utilizar para abrir y cerrar conexiones con bases de datos, y para enviar consultas de actualización de la información.

Para establecer una conexión con una base de datos, cree primero una instancia del objeto Connection. Por ejemplo, la siguiente secuencia de comandos crea una instancia del objeto Connection y procede a abrir una conexión:

<%
'Crea un objeto Connection
Set cn = Server.CreateObject("ADODB.Connection")
'Abre una conexión; la cadena hace referencia al DSN
cn.Open "FILEDSN=MiBaseDeDatos.dsn"
%>
Nota La cadena DSN no contiene espacios en blanco ni antes ni después del signo igual (=).

En este caso, el método Open del objeto Connection hace referencia al DSN de Archivo, que contiene la información de ubicación y la configuración de la base de datos. Opcionalmente, también puede hacer referencia directamente a un proveedor, origen de datos, Id. de usuario y contraseña, en lugar de al DSN. Ejecutar consultas con el objeto Connection

Con el método Execute del objeto Connection puede enviar consultas en el Lenguaje de consulta estructurado (SQL) al origen de datos y recuperar los resultados. SQL, un lenguaje estándar para comunicarse con bases de datos, tiene comandos para recuperar y actualizar información.

La siguiente secuencia de comandos utiliza el método Execute del objeto Connection para enviar una consulta con un comando INSERT de SQL, que inserta datos en una tabla concreta de la base de datos. En este caso, el bloque de la secuencia de comandos inserta el nombre José Lugo en una tabla de la base de datos llamada Customers.

<%
'Define el DSN de Archivo
strDSN = "FILEDSN=MiBaseDeDatos.dsn"

'Crea la instancia del objeto Connection y abre una conexión con la base de datos
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open strDSN

'Define la instrucción SELECT de SQL
strSQL = "INSERT INTO Customers (FirstName, LastName) VALUES ('José','Lugo')"
'Utiliza el método Execute para enviar una consulta SQL a la base de datos
cn.Execute(strSQL)

%>
Nota La ruta del DSN de Archivo no debe incluir espacios en blanco antes ni después del signo igual (=).

Además del comando INSERT de SQL, puede utilizar los comandos UPDATE y DELETE de SQL para modificar y quitar información de la base de datos.

Con el comando UPDATE de SQL puede modificar los valores de los elementos de una tabla de la base de datos. La siguiente secuencia de comandos usa el comando UPDATE para cambiar todos los campos FirstName de la tabla Customers a Juan en todas las filas cuyo campo LastName contenga el apellido Soto.

<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "FILEDSN=MiBaseDeDatos.dsn"
cn.Execute "UPDATE Customers SET FirstName = 'Juan' WHERE LastName = 'Soto' "
%>
Para quitar determinados registros de una tabla de la base de datos, utilice el comando DELETE de SQL. La siguiente secuencia de comandos quita todas las filas de la tabla Customers cuyo apellido sea Soto:

<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "FILEDSN=MiBaseDeDatos.dsn"
cn.Execute "DELETE FROM Customers WHERE LastName = 'Soto'"
%>
Nota Debe tener mucho cuidado al utilizar el comando DELETE de SQL. Un comando DELETE que no vaya acompañado de una cláusula WHERE eliminará todas las filas de la tabla. Asegúrese de incluir una cláusula WHERE de SQL, que especifica las filas exactas que se van a eliminar.

Bueno , creo que es bastante , ojala que te sirva de algo mi ayuda.

Saludos desde Cuba , Eduardo.....