Login or Sign up Help | Site Map
Connecting Tech Pros Worldwide

INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE

Question posted by: =?Utf-8?B?QkxVRVNUQVI=?= (Guest) on July 10th, 2008 06:55 PM
HELLO,

I AM A NEW BII TO ASP,AND I NEED HELP ON THIS ISSUE.
I HAVE A .ASP FORM WHICH IS ALREADY BUILT WITH 5 QUESTIONS AND 5 TEXTAREAS
RESPECTIVELY.THESE 5 QUESTIONS ARE NOT FIX,THERE WILL BE MORE ADDITION.

ITS BASICALLY A SURVEY FORM.

I HAVE CREATED A TABLE WITH 3 FIELDS :QUESTION ID,RESPONSE IN TEXTAREA, AND
DATE.
AND THESE 3 ARE TO BE INSERTED IN DATABASE VIA THIS FORM.

I HAVE TO 1ST COUNT /PARSE HOW MANY TEXTAREAS ARE THERE IN THIS FORM,THEN
EXTRACT EACH TEXTAREA ID.

AND THEN FINALLY I HAVE TO INSERT QESTION ID,TEXTAREA RESPONSE TO THE DATABSE.

I WILL BE REALLY GRATEFUL IF SOMEBODY CAN HELP ME TO PROCEED THROUGH IT.

I HAVE BEEN ADVICE TO USE SOME FUNCTIONS TO IMPLEMENT THIS

HERE IS THE LINK OF THIS FORM
http://localhost/testasp/SurveyResponse.asp

THANK YOU

WILL BE EGARLY WAITING FOR SOME REPLY






Would you like to answer this question?
Sign up for a free account, or Login (if you're already a member).
=?Utf-8?B?T2xkIFBlZGFudA==?='s Avatar
=?Utf-8?B?T2xkIFBlZGFudA==?=
Guest
n/a Posts
July 10th, 2008
07:55 PM
#2

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE
Easiest way is to just number the fields.

Example:

<FORM Action="processAnswers.asp" Method=POST>
Question: How much is 3 + 7 * 10 ?
Answer: <TEXTAREA Name="answer1"></TEXTAREA>
Question: What are your favorite foods?
Answer: <TEXTAREA Name="answer2"></TEXTAREA>
Question: Describe the effects of moonlight on the flight of Monarch
butterflies:
Answer: <TEXTAREA Name="answer3"></TEXTARE>
....
<INPUT Type=Submit Value="Submit my answers">
</FORM>

And then you "processAnswers.asp" page simply does this:

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string ..."

For answerNumber = 1 TO 3
answer = Request("answer" & answerNumber)
If answer <"" Then
SQL = "INSERT INTO answers( user, answerNumber, answer ) " _
& " VALUES(" & userid & "," & answerNumber & "," _
& "'" & Replace(answer, "'", "''") & "')"
conn.Execute SQL
End If
Next
conn.Close
%>


=?Utf-8?B?QkxVRVNUQVI=?='s Avatar
=?Utf-8?B?QkxVRVNUQVI=?=
Guest
n/a Posts
July 10th, 2008
10:35 PM
#3

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE

Well first of all thank a ton for reply.
Here is the link of the page where I have to perform insertion of data in
the databse.http://www.smartcharlotte2050.com/YourThoughts.asp

I have been told to write some function that will traverse through the form
and will count textareas and also search for each textareaID and insert it
in the question ID column of the table.

Is there any way ,on how to traverse through the form.asp source code and
count textareas and insert its content in database.

Thanks again.
And again expecting a quick response.




"Old Pedant" wrote:
Quote:
Originally Posted by
Easiest way is to just number the fields.
>
Example:
>
<FORM Action="processAnswers.asp" Method=POST>
Question: How much is 3 + 7 * 10 ?
Answer: <TEXTAREA Name="answer1"></TEXTAREA>
Question: What are your favorite foods?
Answer: <TEXTAREA Name="answer2"></TEXTAREA>
Question: Describe the effects of moonlight on the flight of Monarch
butterflies:
Answer: <TEXTAREA Name="answer3"></TEXTARE>
...
<INPUT Type=Submit Value="Submit my answers">
</FORM>
>
And then you "processAnswers.asp" page simply does this:
>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string ..."
>
For answerNumber = 1 TO 3
answer = Request("answer" & answerNumber)
If answer <"" Then
SQL = "INSERT INTO answers( user, answerNumber, answer ) " _
& " VALUES(" & userid & "," & answerNumber & "," _
& "'" & Replace(answer, "'", "''") & "')"
conn.Execute SQL
End If
Next
conn.Close
%>
>


=?Utf-8?B?T2xkIFBlZGFudA==?='s Avatar
=?Utf-8?B?T2xkIFBlZGFudA==?=
Guest
n/a Posts
July 10th, 2008
11:15 PM
#4

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE
Is there any way ,on how to traverse through the form.asp source code and
Quote:
Originally Posted by
count textareas and insert its content in database.


Yes. Use the code I gave you.

What did you THINK it was doing????

It's doing *EXACTLY* that.

But forget ID's on the fields. IDs don't matter in ASP code. Use names, as
I showed you.

Did you even TRY that code???



=?Utf-8?B?T2xkIFBlZGFudA==?='s Avatar
=?Utf-8?B?T2xkIFBlZGFudA==?=
Guest
n/a Posts
July 10th, 2008
11:15 PM
#5

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE
Using the FORM you actually show there, you would just alter my code to

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string ..."

For answerNumber = 1 TO 4
answer = Request("Your Thoughts Q" & answerNumber)
If answer <"" Then
SQL = "INSERT INTO answers( answerNumber, answer ) " _
& " VALUES(" & answerNumber & "," _
& "'" & Replace(answer, "'", "''") & "')"
conn.Execute SQL
End If
Next
conn.Close
%>

You didn't bother to show us the schema of your DB table, so I just assumed
TABLE: answers
answerNumber int
answer text



Bob Barrows [MVP]'s Avatar
Bob Barrows [MVP]
Guest
n/a Posts
July 10th, 2008
11:25 PM
#6

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE
Old Pedant wrote:
Quote:
Originally Posted by
Quote:
Originally Posted by
>Is there any way ,on how to traverse through the form.asp source
>code and count textareas and insert its content in database.

>
Yes. Use the code I gave you.
>
What did you THINK it was doing????
>
It's doing *EXACTLY* that.
>
But forget ID's on the fields. IDs don't matter in ASP code. Use
names, as I showed you.
>
Did you even TRY that code???

Cmon, pedant, hop to it. He's expecting a quick response. Stop dithering now
.... :-)

--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"



=?Utf-8?B?T2xkIFBlZGFudA==?='s Avatar
=?Utf-8?B?T2xkIFBlZGFudA==?=
Guest
n/a Posts
July 10th, 2008
11:45 PM
#7

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE
"Bob Barrows [MVP]" wrote:
Quote:
Originally Posted by
Cmon, pedant, hop to it. He's expecting a quick response. Stop dithering now
.... :-)


No fair! Making the people around me give me strange looks for ROTFLMAO.

Too funny! Needed that!



=?Utf-8?B?QkxVRVNUQVI=?='s Avatar
=?Utf-8?B?QkxVRVNUQVI=?=
Guest
n/a Posts
July 14th, 2008
03:45 PM
#8

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE
Thank You
And also,sorry for thanking you late,

BUT I am getting error in the insert statement, and i am not being able to
solve it.

2ndly in this form,later more questions will be added, so is there any
simple way to count the # of textareas and then use it in for loop.

After my long search on google I found one thing...there is a class define

Class UtilityObj
Private _name As String
Private _value As String
Public Sub New(ByVal Name As String,ByVal Value As int)
_name = Name
_value = Value
End Sub
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal Value As String)
_name = Name
End Set
End Property
Public Property Value() As String
Get
Return (_value)
End Get
Set(ByVal Value As String)
_value = Value
End Set
End Property
End Class


then using this function the name and ID is being inserted in the database



Funtion LoopingControls(oControl As Control)
Dim frmCtrl As Control
oArrayList = New ArrayList
For each frmCtrl in oControl.Controls
If TypeOf frmCtrl Is TextArea Then

Call FunctionDB(db)

End If
If frmCtrl.HasControls Then
LoopingControls(frmCtrl)
End If
Next
End Function


This is the function which will do database connection.

Function FunctionDB(db)

Set db=Server.CreateObject ("ADODB.Connection")

db.Open "DSN=surveydsn;User ID=dbo_sage;Password=sage;"

SQL = "INSERT INTO survey ( i, res ) "
& " VALUES(" & i & ","
& "'" & Replace(res, "'", "''") & "')"
db.Execute SQL
db.Close
db.Execute(VarQuery)
End Function



Now the thing is I am messed up with this, I have all the logic to
perform,but not being able to assemble it.


Lastly somebody told me to use Microsoft Visual studio 6, well i am not
being able to open interdev as I dont have FrontPage 98 server extension and
also Its not available on net free to download,


Hope you will again help me.

Thank again for your support,it really helped me.

"Old Pedant" wrote:
Quote:
Originally Posted by
Using the FORM you actually show there, you would just alter my code to
>
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string ..."
>
For answerNumber = 1 TO 4
answer = Request("Your Thoughts Q" & answerNumber)
If answer <"" Then
SQL = "INSERT INTO answers( answerNumber, answer ) " _
& " VALUES(" & answerNumber & "," _
& "'" & Replace(answer, "'", "''") & "')"
conn.Execute SQL
End If
Next
conn.Close
%>
>
You didn't bother to show us the schema of your DB table, so I just assumed
TABLE: answers
answerNumber int
answer text
>
>


Evertjan.'s Avatar
Evertjan.
Guest
n/a Posts
July 19th, 2008
07:35 AM
#9

Re: INSERT DATA FROM MULTIPLE TEXTAREAS IN THE FORM TO THE DATABASE
>>RE: INSERT DATA FROM MULTIPLE ...



=?Utf-8?B?T2xkIFBlZGFudA==?= wrote on 19 jul 2008 in
microsoft.public.inetserver.asp.general:
Quote:
Originally Posted by
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "...your connection string ..."
>
For answerNumber = 1 TO 99
answer = Trim( "" & Request("Your Thoughts Q" & answerNumber) )
If answer <"" Then ' *** SKIPS BLANK ANSWERS! ***
SQL = "INSERT INTO answers( answerNumber, answer ) " _
& " VALUES(" & answerNumber & "," _
& "'" & Replace(answer, "'", "''") & "')"
conn.Execute SQL
End If
Next
conn.Close
%>


Nice code, gives me 99 chances to do a SQL-injection i one go!

And both in post and in querystring!


--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)

 
Not the answer you were looking for? Post your question . . .
184,013 Experts ready to help you find a solution.
Sign up for a free account, or Login (if you're already a member).

Latest Articles: Read & Comment
  • Didn't find the answer you were looking for?
    Post Your Question
  • Top Community Contributors