Solved

How to do a dynamic loop in a sql insert statement using ASP classic?

Posted on 2009-05-03
9
372 Views
Last Modified: 2012-05-06
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



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

Open in new window

0
Comment
Question by:marcoloppo
  • 4
  • 3
  • 2
9 Comments
 
LVL 49

Expert Comment

by:Ryan Chong
ID: 24292928
try:

Dim x(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))
 
next
0
 
LVL 49

Accepted Solution

by:
Ryan Chong earned 300 total points
ID: 24292954
sorry, should be:

Dim SS_Busca_Usuario_Default_(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))
 
next
0
 
LVL 49

Assisted Solution

by:Ryan Chong
Ryan Chong earned 300 total points
ID: 24292956
You may added this as well:

Dim RS_Busca_Usuario_Default_(5)
0
 
LVL 49

Expert Comment

by:Ryan Chong
ID: 24293471
by the way, "Select ud_nome from users_default WHERE ud_nome = '"& ud_login_(x) &"'" is not an insert SQL statement..
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 6

Expert Comment

by:JoachimMartinsen
ID: 24293589
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

%>

Open in new window

0
 

Author Comment

by:marcoloppo
ID: 24296336
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.






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

Open in new window

0
 

Author Comment

by:marcoloppo
ID: 24296356
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

Open in new window

0
 
LVL 6

Assisted Solution

by:JoachimMartinsen
JoachimMartinsen earned 200 total points
ID: 24297484
Try this:
request("ud_login_"&x)

Open in new window

0
 

Author Closing Comment

by:marcoloppo
ID: 31577448
Great Solution!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction (All good things must come to an end (http://en.wikipedia.org/wiki/All_Good_Things...)) The original MySQL API (http://php.net/manual/en/book.mysql.php) has gone away, deprecated by PHP in Version 5.5, and removed from PHP in all curre…
These days, all we hear about hacktivists took down so and so websites and retrieved thousands of user’s data. One of the techniques to get unauthorized access to database is by performing SQL injection. This article is quite lengthy which gives bas…
This video teaches viewers how to create their own website using cPanel and Wordpress. Tutorial walks users through how to set up their own domain name from tools like Domain Registrar, Hosting Account, and Wordpress. More specifically, the order in…
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now