marcoloppo
asked on
How to do a dynamic loop in a sql insert statement using ASP classic?
Hi,
I'm trying to do a dynamic loop to insert some data in the DB, but I'm getting no success. The code follows below, and the error message I get is something like:
error 800a000d
Type incompatible: 'SS_Busca_Usuario_Default_ '
I think is not being attributed any value to the (x) variable inside the looping, and I don't know what's wrong, any ideas?
Thanks
I'm trying to do a dynamic loop to insert some data in the DB, but I'm getting no success. The code follows below, and the error message I get is something like:
error 800a000d
Type incompatible: 'SS_Busca_Usuario_Default_
I think is not being attributed any value to the (x) variable inside the looping, and I don't know what's wrong, any ideas?
Thanks
Dim x
x=1
for x = 1 to 5
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
next
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
by the way, "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'" is not an insert SQL statement..
What is ud_login_(x)? What type is it, and when and where does it get set?
<%
set RS = server.createobject("adodb.recordset")
for x = 1 to 5
RS.open "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
if not RS.eof then
' User is found
end if
RS.close
next
set RS = nothing
%>
ASKER
Hi,
Thank you for the answers, I made what was suggested and it worked partly, in other words I got no error message anymore, but the variables:
ud_login_(x)
ud_email_(x)
ud_senha_(x)
Are blank, with no value. I receive via POST the values of these variables, that come from a form, and I got them like below:
ud_login_1 = request("ud_login_1")
ud_email_1 = request("ud_email_1")
ud_senha_1 = request("ud_senha_1")
ud_login_2 = request("ud_login_2")
ud_email_2 = request("ud_email_2")
ud_senha_2 = request("ud_senha_2")
ud_login_3 = request("ud_login_3")
ud_email_3 = request("ud_email_3")
ud_senha_3 = request("ud_senha_3")
ud_login_4 = request("ud_login_4")
ud_email_4 = request("ud_email_4")
ud_senha_4 = request("ud_senha_4")
ud_login_5 = request("ud_login_5")
ud_email_5 = request("ud_email_5")
ud_senha_5 = request("ud_senha_5")
So any of this variables above should be recorded in the SQL statement below, when the loop is running, what might be the problem?
Once thank you.
Thank you for the answers, I made what was suggested and it worked partly, in other words I got no error message anymore, but the variables:
ud_login_(x)
ud_email_(x)
ud_senha_(x)
Are blank, with no value. I receive via POST the values of these variables, that come from a form, and I got them like below:
ud_login_1 = request("ud_login_1")
ud_email_1 = request("ud_email_1")
ud_senha_1 = request("ud_senha_1")
ud_login_2 = request("ud_login_2")
ud_email_2 = request("ud_email_2")
ud_senha_2 = request("ud_senha_2")
ud_login_3 = request("ud_login_3")
ud_email_3 = request("ud_email_3")
ud_senha_3 = request("ud_senha_3")
ud_login_4 = request("ud_login_4")
ud_email_4 = request("ud_email_4")
ud_senha_4 = request("ud_senha_4")
ud_login_5 = request("ud_login_5")
ud_email_5 = request("ud_email_5")
ud_senha_5 = request("ud_senha_5")
So any of this variables above should be recorded in the SQL statement below, when the loop is running, what might be the problem?
Once thank you.
Dim SS_Busca_Usuario_Default_(5)
Dim ud_login_(5)
Dim RS_Busca_Usuario_Default_(5)
Dim SS_Inclui_User_Master_(5)
Dim ud_email_(5)
Dim ud_senha_(5)
x=1
for x = 1 to 5
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
If RS_Busca_Usuario_Default_(x).eof = true then
response.write ud_login_(x)
'SS_Inclui_User_Master_(x) = "Insert into users_default (cod_empresa, ud_nome, ud_email, ud_pass_1, ud_pass_2, ativo, data) VALUES ("& RS_inclui_empresa("IdentityInsert") &", '"& ud_login_(x) &"', '"& ud_email_(x) &"', '"& ud_senha_(x) &"', '"& md5(ud_senha_(x)) &"', NULL, getdate())"
'conn.execute(SS_Inclui_User_Master_(x))
end if
next
ASKER
Sorry, below folows the correct script
Dim SS_Busca_Usuario_Default_(5)
Dim ud_login_(5)
Dim RS_Busca_Usuario_Default_(5)
Dim SS_Inclui_User_Master_(5)
Dim ud_email_(5)
Dim ud_senha_(5)
x=1
for x = 1 to 5
SS_Busca_Usuario_Default_(x) = "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'"
Set RS_Busca_Usuario_Default_(x) = conn.execute(SS_Busca_Usuario_Default_(x))
If RS_Busca_Usuario_Default_(x).eof = true then
SS_Inclui_User_Master_(x) = "Insert into users_default (cod_empresa, ud_nome, ud_email, ud_pass_1, ud_pass_2, ativo, data) VALUES ("& RS_inclui_empresa("IdentityInsert") &", '"& ud_login_(x) &"', '"& ud_email_(x) &"', '"& ud_senha_(x) &"', '"& md5(ud_senha_(x)) &"', NULL, getdate())"
conn.execute(SS_Inclui_User_Master_(x))
end if
next
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Great Solution!
Dim x(5)
x=1
for x = 1 to 5
SS_Busca_Usuario_Default_(
Set RS_Busca_Usuario_Default_(
next