Ver Mensaje Individual
  #7 (permalink)  
Antiguo 14/01/2004, 21:22
Citize
 
Fecha de Ingreso: diciembre-2003
Mensajes: 13
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola:

El valor ID_NEW: el el codigo autonumerico que se genera automaticamente cuando guardo un registro en RAZA (este codigo luego guardaré tambien en PAIS)

El valor MiID: Es el codigo del ultimo registro grabado en PAIS, que el usuario ingresa manualmente.

Tambien he puesto como sugieres, el response.write, para visualizar la cadena SSQL, con el fin de ver si se estan enviando los parametros o no a la BD, asi:

....
....
sSQL="UPDATE Pais SET CodigoRaza="&Id_New&" WHERE CodigoPais="&MiID
Response.Write sSQL & "<br>"
RS.Open sSQL, conn, 1, 2
....
....(sigue mas linea codigo)

Resultado?
el programa corre bien hasta la linea donde se imprime la cadena sSQL, pues aparece, por ejemplo:
...
...
UPDATE Pais SET CodigoRaza=176 WHERE CodigoPais=ygt

y a continuancion me sigue saliendo el mismo mensaje de error:
"Pocos parámetros. Se esperaba 1. "

(Tampoco sale si uso: set RS=conn.Execute(sSQL) o conn.Execute sSQL)

esto me esta desesperando.....
de todo modos gracias de antemano si tuvieras alguna sugerencia mas.

Franco

PD.

Mi sistema lo que hace es, por medio de dos formularios, captura informacion para grabarlos en 4 tablas:
- pais (campos: codigopais, nombre, codigoraza)
- raza (codigoraza, color, apodo, grosor)
- ciudad (codigociudad, nombre, poblacion, codigopais)
- fabrica (codigofabrica, nombre, empleado, codigociudad)

El codigo en general es:

Dim sSQL,conn,RS, RS2,Temp,sSQL, MiID, RsId

'---------INSERTAR PAIS-------------
'al insertar un registro en PAIS
' el unico campo que quedara vacio es:codigoraza
' hasta que se registre la informacion en la tabla RAZA, pues solo recien puedo obtener el codigo del ultimo registro ingresado,
el cual sera ingresado despues en la tabla PAIS

set conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
conn.Open "ieee3"

sSQL="SELECT * FROM Pais WHERE (CodigoPais='"&pCodPais&"');"
RS.Open sSQL,conn,1,2

if not RS.EOF then
Response.Write "El pais ya fue ingresado. "
Response.Write "Por favor, escoja otro."

else
Set conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
conn.Open "ieee3"

sSQL="INSERT INTO Pais " & "(Nombre, CodigoPais)"
sSQL=sSQL & " VALUES ('"&pNomPais&"', '"&pCodPais &"')"
'set RS=conn.Execute(sSQL)
RS.Open sSQL,conn,1,2
Response.Write "Nombre del Pais: " &pNomPais& "<br>"
Response.Write "Codigo del Pais ingresado: " &pCodPais& "<br>"

'----------INSERTAR RAZA------------

'Set conn = Server.CreateObject("ADODB.Connection")
'Set RS = Server.CreateObject("ADODB.RecordSet")
'conn.Open "ieee3"
sSQL="SELECT * FROM Pais WHERE (CodigoPais='"&pCodPais&"');"
'set RS=conn.Execute(sSQL)
RS.Open sSQL,conn,1,2

if not RS.EOF then
MiID= RS.Fields("CodigoPais")
Response.Write "Codigo del Pais registrado que se utilizara para Raza: " &MiID& "<br>"

Set conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
conn.Open "ieee3"

sSQL="INSERT INTO Raza " & "(Color, Apodo, Grosor)"
sSQL=sSQL & " VALUES ('"&pColRaza&"', '"&pApoRaza &"', '"&pGroRaza &"')"
'set RS=conn.Execute(sSQL)
RS.Open sSQL,conn,1,2
Response.Write "Color de la Raza: " &pColRaza& "<br>"
Response.Write "Apodo de la Raza: " &pApoRaza& "<br>"
Response.Write "Grosor de la Raza: " &pGroRaza& "<br>"

'-------recupera el codigo del ultimo registro grabado en la tabla RAZA-----
Set RsId = Server.CreateObject("ADODB.Recordset")
cSql = "Select @@IDENTITY as Ident"
RsId.Open cSql, conn
Id_New = RsId("Ident")
RsId.Close
Set RsId = Nothing

Set conn = Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.RecordSet")
conn.Open "ieee3"

'------una vez obtenido el codigo de dicho registro grabado en RAZA, lo guardo en en la tabla PAIS---------

sSQL="UPDATE Pais SET CodigoRaza="&Id_New&" WHERE CodigoPais="&MiID

Response.Write sSQL & "<br>"

RS.Open sSQL, conn, 1, 2
'set RS=conn.Execute(sSQL)
'conn.Execute sSQL

if not RS.EOF then
MiID= RS.Fields("CodigoPais")
Response.Write "Codigo de Raza registrado en Pais: " &MiID& "<br>"

else
Response.Write "NO se registró bien codigo Raza en Pais: " &MiID& "<br>"
end if

else
Response.Write "No se puede registrar raza pues NO esta registrado el pais "
end if

'--------------INSERTAR CIUDAD------

sSQL="SELECT * FROM Pais WHERE (CodigoPais='"&pCodPais&"');"
set RS=conn.Execute(sSQL)

if not RS.EOF then
MiID= RS.Fields("CodigoPais")
Response.Write "codigo del pais a utilizar para Ciudad: " &MiID& "<br>"
sSQL="INSERT INTO Ciudad " & "(Nombre, CodigoCiudad, Poblacion, CodigoPais)"
sSQL=sSQL & " VALUES ('"&pNomCiudad&"','"&pCodCiudad&"', '"&pPobCiudad&"', '"&MiID&"')"
conn.Execute(sSQL)
Response.Write "Nombre de la Ciudad: " &pNomCiudad& "<br>"
Response.Write "Poblacion de la Ciudad: " &pPobCiudad& "<br>"
Response.Write "Codigo de la Ciudad ingresada: " &pCodCiudad& "<br>"

else
Response.Write "No se pudo registrar Ciudad pues no esta registrado el Pais. "
end if

'-----------INSERTAR FABRICA--------

sSQL="SELECT * FROM Ciudad WHERE (CodigoCiudad='"&pCodCiudad&"');"
set RS=conn.Execute(sSQL)
Response.Write "Comprobando que esta registrada la ciudad con codigo: " &CodigoCiudad& "<br>"

if not RS.EOF then
MiID= RS.Fields("CodigoCiudad")
Response.Write "codigo del pais a utilizar para Fabrica: " &MiID& "<br>"
sSQL="INSERT INTO Fabrica " & "(CodigoFabrica, Nombre, Empleados, CodigoCiudad)"
sSQL=sSQL & " VALUES ('"&pCodFabrica&"', '"&pNomFabrica&"', '"&pEmpFabrica&"','"&MiID &"')"
conn.Execute(sSQL)
Response.Write "Nombre de la Fabrica: " &pNomFabrica& "<br>"
Response.Write "Poblacion de la Fabrica: " &pEmpFabrica& "<br>"
Response.Write "Codigo de la Fabrica ingresado: " &pCodFabrica& "<br>"


else
Response.Write "la ciudad no fue ingresado para registrar fabrica. "
End if

end if

'Limpiamos objetos
RS.Close
conn.Close
set RS=nothing
set conn=nothing

%>

</body>
</html>