Ayuda urgente
Necesito mucha ayuda. Tengo este programa de asp:
<html>
<body>
<%
Dim zapa
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fichero = Fso.OpenTextFile(server.mappath("accesos.log"), 1)
set base= server.createobject("adodb.connection")
base.connectionstring="DSN=bdexamen"
base.open
do while not Fichero.AtEndOfStream
cadena = Fichero.ReadLine
zapa=split(cadena,",")
SQL = "insert into zapatos (nombre,valor,tipo) values ("&zapa(0)&", '"&zapa(1)&"', "&zapa(2)&")"
base.execute(SQL)
loop
base.close
Fichero.close
%>
</body>
</html>
Además hay un fichero accessos.log con el siguiente contenido:
zapato1,1200,e
zapato2,13400,p
zapato3,124,e
.....
y una base de datos con un campo autonumérico, un campo texto(nombre), uno numérico(valor) y otro texto(tipo).
Mi problema es que me falla algo y no sé qu es. ¿Podeis ayudarme?
GRACIAS.
<html>
<body>
<%
Dim zapa
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Fichero = Fso.OpenTextFile(server.mappath("accesos.log"), 1)
set base= server.createobject("adodb.connection")
base.connectionstring="DSN=bdexamen"
base.open
do while not Fichero.AtEndOfStream
cadena = Fichero.ReadLine
zapa=split(cadena,",")
SQL = "insert into zapatos (nombre,valor,tipo) values ("&zapa(0)&", '"&zapa(1)&"', "&zapa(2)&")"
base.execute(SQL)
loop
base.close
Fichero.close
%>
</body>
</html>
Además hay un fichero accessos.log con el siguiente contenido:
zapato1,1200,e
zapato2,13400,p
zapato3,124,e
.....
y una base de datos con un campo autonumérico, un campo texto(nombre), uno numérico(valor) y otro texto(tipo).
Mi problema es que me falla algo y no sé qu es. ¿Podeis ayudarme?
GRACIAS.
Si me dices el error que te dá, seguramente te podré ayudar mejor.
Yo normalmente a la hora de insertar o modificar en base de datos utilizo el objeto command:
la parte de la conexion igual
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = base
cmd.TextCommand = SQL
cmd.Execute
Esto te sirve a parte, siempre que utilices, sql server, para obtener el id otorgado, con la consulta:
select @@identity
Yo normalmente a la hora de insertar o modificar en base de datos utilizo el objeto command:
la parte de la conexion igual
set cmd = Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = base
cmd.TextCommand = SQL
cmd.Execute
Esto te sirve a parte, siempre que utilices, sql server, para obtener el id otorgado, con la consulta:
select @@identity
No estarás componiendo mal la consulta?
Si el orden es el del fichero log creo que estás metiendo datos de tipo string sin las comillas simples:
SQL = "insert into zapatos (nombre,valor,tipo) values ("&zapa(0)&", '"&zapa(1)&"', "&zapa(2)&")"
Por si acaso utiliza siempre comillas simples:
SQL = "insert into zapatos (nombre,valor,tipo) values ('"&zapa(0)&"', '"&zapa(1)&"', '"&zapa(2)&"')"
Si el orden es el del fichero log creo que estás metiendo datos de tipo string sin las comillas simples:
SQL = "insert into zapatos (nombre,valor,tipo) values ("&zapa(0)&", '"&zapa(1)&"', "&zapa(2)&")"
Por si acaso utiliza siempre comillas simples:
SQL = "insert into zapatos (nombre,valor,tipo) values ('"&zapa(0)&"', '"&zapa(1)&"', '"&zapa(2)&"')"
