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, slo 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 slo lectura", y con el delete me dice que no se ha podido borrar ningn 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 ratn, 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 informacin de una base de datos consiste en establecer una conexin 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 mtodos que puede utilizar para abrir y cerrar conexiones con bases de datos, y para enviar consultas de actualizacin de la informacin.

Para establecer una conexin 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 conexin:

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

En este caso, el mtodo Open del objeto Connection hace referencia al DSN de Archivo, que contiene la informacin de ubicacin y la configuracin de la base de datos. Opcionalmente, tambin puede hacer referencia directamente a un proveedor, origen de datos, Id. de usuario y contrasea, en lugar de al DSN. Ejecutar consultas con el objeto Connection

Con el mtodo 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 estndar para comunicarse con bases de datos, tiene comandos para recuperar y actualizar informacin.

La siguiente secuencia de comandos utiliza el mtodo 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 conexin con la base de datos
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open strDSN

'Define la instruccin SELECT de SQL
strSQL = "INSERT INTO Customers (FirstName, LastName) VALUES ('Jos','Lugo')"
'Utiliza el mtodo 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 despus del signo igual (=).

Adems del comando INSERT de SQL, puede utilizar los comandos UPDATE y DELETE de SQL para modificar y quitar informacin 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 acompaado de una clusula WHERE eliminar todas las filas de la tabla. Asegrese de incluir una clusula 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.....