consulta a dos tablas con dos recordset ¿donde esta el error?
hola, estoy intentando hacer dos consulta a la vez con dos recordset, una a una tabla llamada PresupuestoElectro y otra a la Tabla Electrodomesticos, para pasar datos de una a otra, el codigo es el siguiente.
Dim cnn
Dim str
Dim rs,rs2,rs4
Dim SQL
Dim SQL2,SQL4
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "baseDatosAraika"
%>
<%
%>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
SQL="select * from PresupuestosElectro where campo = 1"
rs.Open SQL,cnn,2, 2
Set rs4 = Server.CreateObject("ADODB.Recordset")
SQL4="select * from Electrodomesticos where Electrodomesticos.Marca="&Request.Form ("Marca")& " and TipoELectro=" & Request.Form ("TIpoELectro")&" and Modelo="&Request.Form ("Modelo")
rs4.Open SQL4,cnn,2,2
Response.Write ( "La marca de rs4 es " & rs4("Marca"))
rs.AddNew
rs.Fields ("PresupuestoID")= Request.Form ("IDPresupuesto")
rs.Fields ("OportunidadID") = Request.Form ("IDoportunidad")
Response.Write (Request.Form ("TipoElectro"))
if Request.Form ("TipoElectro")<>"" then
Response.Write ("ha entrado "&Request.Form ("TipoElectro"))
rs.Fields ("TipoElectro") = rs4("TipoElectro")
end if
if Request.Form ("Marca")<>"" then
rs.Fields ("Marca") = rs4 ("Marca")
end if
if Request.Form ("modelo")<>"" then
rs.Fields ("Modelo") =rs4("Modelo")
end if
rs.Fields ("PrecioEuros")= rs4("PrecioEuros")
rs.Fields ("PrecioPtas")= rs4("PrecioPtas")
rs.Update
rs.close
rs4.Close
y me genera el siguiente error
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 3.
/araika/OperacionesPresupuestoElectro.asp, line 32
la linea 32 es la linea
rs4.Open SQL4,cnn,2,2
Alguien me puede ayudar a ver donde esta el error? por favor es urgente, si necesitais mas información por favor pedirmela.
muchas gracias
silvia
Dim cnn
Dim str
Dim rs,rs2,rs4
Dim SQL
Dim SQL2,SQL4
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.Open "baseDatosAraika"
%>
<%
%>
<%
Set rs = Server.CreateObject("ADODB.Recordset")
SQL="select * from PresupuestosElectro where campo = 1"
rs.Open SQL,cnn,2, 2
Set rs4 = Server.CreateObject("ADODB.Recordset")
SQL4="select * from Electrodomesticos where Electrodomesticos.Marca="&Request.Form ("Marca")& " and TipoELectro=" & Request.Form ("TIpoELectro")&" and Modelo="&Request.Form ("Modelo")
rs4.Open SQL4,cnn,2,2
Response.Write ( "La marca de rs4 es " & rs4("Marca"))
rs.AddNew
rs.Fields ("PresupuestoID")= Request.Form ("IDPresupuesto")
rs.Fields ("OportunidadID") = Request.Form ("IDoportunidad")
Response.Write (Request.Form ("TipoElectro"))
if Request.Form ("TipoElectro")<>"" then
Response.Write ("ha entrado "&Request.Form ("TipoElectro"))
rs.Fields ("TipoElectro") = rs4("TipoElectro")
end if
if Request.Form ("Marca")<>"" then
rs.Fields ("Marca") = rs4 ("Marca")
end if
if Request.Form ("modelo")<>"" then
rs.Fields ("Modelo") =rs4("Modelo")
end if
rs.Fields ("PrecioEuros")= rs4("PrecioEuros")
rs.Fields ("PrecioPtas")= rs4("PrecioPtas")
rs.Update
rs.close
rs4.Close
y me genera el siguiente error
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Controlador ODBC Microsoft Access] Pocos parámetros. Se esperaba 3.
/araika/OperacionesPresupuestoElectro.asp, line 32
la linea 32 es la linea
rs4.Open SQL4,cnn,2,2
Alguien me puede ayudar a ver donde esta el error? por favor es urgente, si necesitais mas información por favor pedirmela.
muchas gracias
silvia
Es curioso que rs no te de error y rs4 si.
Creo que es por la cadena de cunsulta SQL4.
Las variables string en sql deben estar entre comillas simples, asi que deberia ser:
SQL4="select * from Electrodomesticos where Electrodomesticos.Marca='"&Request.Form ("Marca")& "' and TipoELectro='" & Request.Form ("TIpoELectro")&'" and Modelo='"&Request.Form ("Modelo") & "'"
En definitiva, tienen que quedar, por ejemplo:
Electrodomesticos.Marca='Zanussi'
Espero que te sea util.
Huanan
Creo que es por la cadena de cunsulta SQL4.
Las variables string en sql deben estar entre comillas simples, asi que deberia ser:
SQL4="select * from Electrodomesticos where Electrodomesticos.Marca='"&Request.Form ("Marca")& "' and TipoELectro='" & Request.Form ("TIpoELectro")&'" and Modelo='"&Request.Form ("Modelo") & "'"
En definitiva, tienen que quedar, por ejemplo:
Electrodomesticos.Marca='Zanussi'
Espero que te sea util.
Huanan