jojay Posted May 12, 2006 Share Posted May 12, 2006 Can someone tell how to pass a value from one page to another?I am trying to populate the form in form.asp and send those info to result.asp, dump into the database and response.write that info to the third page which is resultpage.asp. I am able to populate and send to database and it goes to resultpage.asp but it is not response.writing the info.result.asp request.form fieldnamesconnection and recordset stringrs.open "Insert into table...."rs.open "Select Top 1 CID from cform Order BY CID Asc"new_id = rs.fields.item("CID").valuers.closecon.closeand set both = nothingresponse.redirect("resultpage.asp?CID = " & New_id) resultpage.asp CID = request.querystring("new_id")request.form formfieldsresponse.write formfields My question is, should I have to create <form></form> and input fields to pass the values to the resultpage.asp. Anyway, I dont want to give a submit button in result.asp to pass the value to resultpage.asp. Any suggestins? Thanks. Link to comment Share on other sites More sharing options...
Yahweh Posted May 12, 2006 Share Posted May 12, 2006 Jojay,Notice the code that you are using in result.asp: response.redirect("resultpage.asp?CID = " & New_id)And compare it to the code you're using in resultpage.asp:CID = request.querystring("new_id")The querystring you're sending and the querystring you're requesting don't match. Use this instead:[results.asp]response.redirect("resultpage.asp?CID=" & New_id)[resultpage.asp]CID = request.querystring("CID") By the way, you can get the ID of the last inserted query without having to execute another query like this: Dim Conn, RS, SQL, LastInsertedIDSet Conn = Server.CreateObject("ADODB.Connection")Set RS = Server.CreateObject("ADODB.Recordset")Conn.Open your_connection_string rs.CursorLocation = AdUseClient sql1 = "Select * From Your_Table Where 0=1" rs.Open sql1,conn, adOpenStatic, adLockOptimistic RS.AddNew rs("Field1") = Field1_Value rs("Field2") = Field2_Value rs("Field3") = Field3_Value rs("Field4") = Field4_Value rs("Field5") = Field5_Value RS.Update LastInsertedID = rs("CID") RS.closeConn.Closeresponse.redirect "resultpage.asp?CID=" & LastInsertedID After you update your record, and before you close your record, you can assign a LastInsertedID = rs("ID") to get the ID of the field you've just inserted, without having to execute another sql statment. Link to comment Share on other sites More sharing options...
jojay Posted May 12, 2006 Author Share Posted May 12, 2006 result.aspDim Conn, RS, SQL, LastInsertedIDSet Conn = Server.CreateObject("ADODB.Connection")Set RS = Server.CreateObject("ADODB.Recordset")Conn.Open your_connection_string rs.CursorLocation = AdUseClient ' this also gives error so I removed that line sql1 = "Select * From Your_Table Where 0=1" rs.Open sql1,conn, 3,3 RS.AddNew rs("Field1") = Field1_Value rs("Field2") = Field2_Value rs("Field3") = Field3_Value rs("Field4") = Field4_Value rs("Field5") = Field5_Value RS.Update LastInsertedID = rs("CID") RS.closeConn.Closeresponse.redirect "resultpage.asp?CID=" & LastInsertedID [resultpage.asp] CID = request.querystring("CID") <{POST_SNAPBACK}> I used the above code and I modified some places like the adopenstatic and adlockoptimisitc becoz it is not letting me update and getting an error message such as "Arguement are not same or in conflict to each other"...The above code works fine sending the info into the database but at resultpage.asp, it is not passing still. Link to comment Share on other sites More sharing options...
Yahweh Posted May 12, 2006 Share Posted May 12, 2006 I used the above code and I modified some places like the adopenstatic and adlockoptimisitc becoz it is not letting me update and getting an error message such as "Arguement are not same or in conflict to each other"...The above code works fine sending the info into the database but at resultpage.asp, it is not passing still.<{POST_SNAPBACK}> Jojay, theres nothign wrong with the code I wrote, because its a copy/paste from one my own sites. However I made the presumption that you were using ADOVBS.inc (most ASP programmers include that file at the top of their pages by default). Without that file, ASP won't recognize some of the constants like AdUseClient and so on.See 4GuysFromRolla FAQ - ADOVBS.inc, its a good thing to get in the habit of using ADOVBS.inc. Just copy this text file to your root directory (save it as adovbs.inc or adovbs.asp), and add <!--#include file="adovbs.inc"--> to the top of any page that uses ADO, and then the code I wrote above will work. Link to comment Share on other sites More sharing options...
jojay Posted May 13, 2006 Author Share Posted May 13, 2006 Jojay, theres nothign wrong with the code I wrote, because its a copy/paste from one my own sites. However I made the presumption that you were using ADOVBS.inc (most ASP programmers include that file at the top of their pages by default). Without that file, ASP won't recognize some of the constants like AdUseClient and so on.See 4GuysFromRolla FAQ - ADOVBS.inc, its a good thing to get in the habit of using ADOVBS.inc. Just copy this text file to your root directory (save it as adovbs.inc or adovbs.asp), and add <!--#include file="adovbs.inc"--> to the top of any page that uses ADO, and then the code I wrote above will work.<{POST_SNAPBACK}> Yahweh,I tried and it didnt work. I have a copy of it in my folder but I am assuming that it should be used only when using heavy coding......anyway, that didnt help.here is my error:ADODB.Recordset error '800a0bb9'Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. it points to line 39 which is :rs.CursorLocation = AdUseClient If I comment that line, then the error is going to: rs.Open sql1, con, adOpenStatic, adLockOptimisitic Now, the error is showing up in result.asp and data is not inserting to the database.I really dont know what is causing my problem not passing the value. Link to comment Share on other sites More sharing options...
Yahweh Posted May 13, 2006 Share Posted May 13, 2006 Yahweh,I tried and it didnt work. I have a copy of it in my folder but I am assuming that it should be used only when using heavy coding......anyway, that didnt help.here is my error:ADODB.Recordset error '800a0bb9'Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. it points to line 39 which is :rs.CursorLocation = AdUseClient If I comment that line, then the error is going to: rs.Open sql1, con, adOpenStatic, adLockOptimisitic Now, the error is showing up in result.asp and data is not inserting to the database.I really dont know what is causing my problem not passing the value. <{POST_SNAPBACK}> Hmmm...I haven't the faintest clue why the code isn't working. However, if it's giving you problems, then just go back to executing two seperate queries like you were doing originally.However, make sure when you response.redirect "resultpage.asp?cid=something", you request("CID") on your resultpage.asp to get the passed value. Link to comment Share on other sites More sharing options...
jojay Posted May 15, 2006 Author Share Posted May 15, 2006 Hmmm...I haven't the faintest clue why the code isn't working. However, if it's giving you problems, then just go back to executing two seperate queries like you were doing originally.However, make sure when you response.redirect "resultpage.asp?cid=something", you request("CID") on your resultpage.asp to get the passed value.<{POST_SNAPBACK}> Hi,I finally got the querystring working. According to your code, adOpenStatic, adLockoptimistic, was not getting the values from adovb.inc in my case, so I included the const adOpenStatic as 3 and adLockoptimistic as 3 and adUseClient as 3 as declaration and then used them in rs.open, it worked. What is the difference between this:rs.open sql1,con,3,3 and this: const adUseClient = 3const adOpenStatic = 3const adLockOptimisitic = 3set connset rsrs.open sql1, adOpenStatic, adLockOptimistic Because in my opinion, in the first case, using the const directly without declaring. In the second case, it is declaring and using them. Please correct if I am wrong. Would like to know the difference? My next question, now the querystring is working but still not able to bring all my data to the resultpage.asp. Should I open the connection and using rs, bring the data from the database or just use response.write(fieldname) and pass the data. Confused. Link to comment Share on other sites More sharing options...
Yahweh Posted May 16, 2006 Share Posted May 16, 2006 Hi,I finally got the querystring working. According to your code, adOpenStatic, adLockoptimistic, was not getting the values from adovb.inc in my case, so I included the const adOpenStatic as 3 and adLockoptimistic as 3 and adUseClient as 3 as declaration and then used them in rs.open, it worked. What is the difference between this:rs.open sql1,con,3,3 and this: const adUseClient = 3const adOpenStatic = 3const adLockOptimisitic = 3set connset rsrs.open sql1, adOpenStatic, adLockOptimistic Because in my opinion, in the first case, using the const directly without declaring. In the second case, it is declaring and using them. Please correct if I am wrong. Would like to know the difference? There's no difference at all, both work just the same. The only difference is the readability of your code (I personally like to see "adOpenStatic" as opposed to "3", its more descriptive).My next question, now the querystring is working but still not able to bring all my data to the resultpage.asp. Should I open the connection and using rs, bring the data from the database or just use response.write(fieldname) and pass the data. Confused.<{POST_SNAPBACK}> I apologize, but I don't know what you're asking, or what you're trying to get your script to do. Link to comment Share on other sites More sharing options...
jojay Posted May 16, 2006 Author Share Posted May 16, 2006 There's no difference at all, both work just the same. The only difference is the readability of your code (I personally like to see "adOpenStatic" as opposed to "3", its more descriptive).I apologize, but I don't know what you're asking, or what you're trying to get your script to do.<{POST_SNAPBACK}> No problem. I fixed it and it works perfectly. Thankyou. And thanks for explaining the difference. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now