Hee hee..so it is. Didn't read back past mehere's post becasue in post #5 it appears that you are creating a connection object and then attempting to open it without setting the connection string, or anything else.
Hee hee..so it is. Didn't read back past mehere's post becasue in post #5 it appears that you are creating a connection object and then attempting to open it without setting the connection string, or anything else.
Wolffy
------------------------
Opinions expressed are my own and do not necessity reflect those of any sane person. Any code provided is intended to be an example and is provided AS IS. Rework for your specific environment may be required. Void where prohibited by law. Not valid in California. Your mileage may vary.
since the connection string is in an include and you're already setting the object ... you just need to do the following:
Code:'This line is not needed - Set cn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") 'This is not needed ... cn.Open conn sql = "SELECT [password] FROM [member] " _ & "WHERE [username] = '" & Request.Form("username") & "'" rs.Open sql, conn, 1
Quote of the Month:
Leaders: Leaders are like eagles. We don't have either of them here.
Questions to Ponder:
Why do banks charge you a "non-sufficient funds fee" on money they already know you don't have?
iif([sarcasm]=true,iif([you have to ask]=true,"didn't work","ha ha ha"),"not sarcasm")
copyright © 2008 sbenj69
Sarchasm: The gulf between the author of sarcastic wit and the person who doesn't get it.
In my opinion, you should'nt open the connection object in the include file, as that would open the connection as soon the include page is called.
It should be opened in the page calling the connection object.
I would do it like this
And then on pages where you need the connectionCode:<!--#include file="adovbs.inc"--> <% Response.Expires = -1500 Response.Buffer = true Server.ScriptTimeout = 100 Session.Timeout = 90 'Create an ADO connection object set conn=Server.CreateObject("ADODB.Connection") strSQLServerName = "XXXXXXX" 'Holds the name of the SQL Server (This is the name/location or IP address of the SQL Server) strSQLDBUserName = "SA" 'Holds the user name (for SQL Server Authentication) strSQLDBPassword = "test" 'Holds the password (for SQL Server Authentication) strSQLDBName = "db2SQL" 'Initilise the DB Connection String conn.ConnectionString = "provider=SQLOLEDB; Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";" %>
Also i think that you should include the file adovbs.inc on each page rather than the connection page.Code:Set rs = Server.CreateObject("ADODB.Recordset") conn.Open sql = "SELECT [password] FROM [member] " _ & "WHERE [username] = '" & Request.Form("username") & "'" rs.Open sql, conn, 1
I agree with micky here. It's kinda considered bad manners to open a connection and hold it without using it right away. There are limited connections available (as we have seen on this board of late) to Sql Server, so the general rule is "open late, close early".
Wolffy
------------------------
Opinions expressed are my own and do not necessity reflect those of any sane person. Any code provided is intended to be an example and is provided AS IS. Rework for your specific environment may be required. Void where prohibited by law. Not valid in California. Your mileage may vary.
Show your code please
Code:<!--#include file="adovbs.inc"--> <% Response.Expires = -1500 Response.Buffer = true Server.ScriptTimeout = 100 Session.Timeout = 90 'Create an ADO connection object set conn=Server.CreateObject("ADODB.Connection") strSQLServerName = "xxxxxxxxxx" 'Holds the name of the SQL Server (This is the name/location or IP address of the SQL Server) strSQLDBUserName = "SA" 'Holds the user name (for SQL Server Authentication) strSQLDBPassword = "test" 'Holds the password (for SQL Server Authentication) strSQLDBName = "db2SQL" 'Initilise the DB Connection String conn.connectionstring = "provider=SQLOLEDB; Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";" %> <head> <meta http-equiv="Content-Language" content="en-gb"> </head> <% Dim submit1, oldpassword, newpassword, confirmpassword submit1 = Server.HTMLEncode(Request.Form("submit1")) oldpassword = Request.Form("oldpassword") newpassword = Request.Form("newpassword") confirmpassword = Request.Form("confirmpassword") 'If submit1 = "confirmpassword" Then Dim sc, conn, rs, sql sc = conn Set conn = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") conn.Open conn sql = "SELECT [password] FROM [mem] " _ & "WHERE [username] = '" & Request.Form("username") & "'" rs.Open sql, sc, conn, 1 If oldpassword = "" Or newpassword = "" Then Response.Write "Make sure password is valid and fill all the fields please!" ElseIf rs("password") <> oldpassword Then Response.Write "Wrong password inserted!" ElseIf newpassword <> confirmpassword Then Response.Write "Confirm password and new password are not the same!" ElseIf oldpassword = newpassword Then Response.Write "Old password and new password are the same!" Else sql = "UPDATE mem SET password = '" & newpassword & "' WHERE " _ & "username = '" & Request.Form("username") & "'" conn.Execute(sql) Response.Write "Your Password has been changed!" End If rs.Close Set rs = Nothing conn.Close conn.close Set conn = Nothing 'End If %> </body> </html> <BR><A HREF="#" ONCLICK=' self.close(); ' > Click here to close the page </A></BR>
You dont seem to get whats being suggested here.
You have already set the connection object once, so why do it again and why assign it to another variable sc??
Keep this in one file like connection.asp
Then on other page.Code:<% Response.Expires = -1500 Response.Buffer = true Server.ScriptTimeout = 100 Session.Timeout = 90 'Create an ADO connection object set conn=Server.CreateObject("ADODB.Connection") strSQLServerName = "xxxxxxxxxx" 'Holds the name of the SQL Server (This is the name/location or IP address of the SQL Server) strSQLDBUserName = "SA" 'Holds the user name (for SQL Server Authentication) strSQLDBPassword = "test" 'Holds the password (for SQL Server Authentication) strSQLDBName = "db2SQL" 'Initilise the DB Connection String conn.connectionstring = "provider=SQLOLEDB; Server=" & strSQLServerName & ";User ID=" & strSQLDBUserName & ";Password=" & strSQLDBPassword & ";Database=" & strSQLDBName & ";"%>
Code:<!--#include file="adovbs.inc"--> <!--#include file="connection.asp"--> <head> <meta http-equiv="Content-Language" content="en-gb"> </head> <% Dim submit1, oldpassword, newpassword, confirmpassword submit1 = Server.HTMLEncode(Request.Form("submit1")) oldpassword = Request.Form("oldpassword") newpassword = Request.Form("newpassword") confirmpassword = Request.Form("confirmpassword") 'If submit1 = "confirmpassword" Then Dim rs, sql conn.open Set rs = Server.CreateObject("ADODB.Recordset") sql = "SELECT [password] FROM [mem] " _ & "WHERE [username] = '" & Request.Form("username") & "'" rs.Open sql, conn, 1 If oldpassword = "" Or newpassword = "" Then Response.Write "Make sure password is valid and fill all the fields please!" ElseIf rs("password") <> oldpassword Then Response.Write "Wrong password inserted!" ElseIf newpassword <> confirmpassword Then Response.Write "Confirm password and new password are not the same!" ElseIf oldpassword = newpassword Then Response.Write "Old password and new password are the same!" Else sql = "UPDATE mem SET password = '" & newpassword & "' WHERE " _ & "username = '" & Request.Form("username") & "'" conn.Execute(sql) Response.Write "Your Password has been changed!" End If rs.Close Set rs = Nothing conn.Close Set conn = Nothing 'End If %> </body> </html> <BR><A HREF="#" ONCLICK=' self.close(); ' > Click here to close the page </A></BR>
koi baat nahi, chalne lagegi, chinta mat kar
You need to check if your recordset has a record or not, before you can read its value like rs("password").
So add such code
Code:If NOT rs.BOF and NOT rs.EOF If oldpassword = "" Or newpassword = "" Then Response.Write "Make sure password is valid and fill all the fields please!" ElseIf rs("password") <> oldpassword Then Response.Write "Wrong password inserted!" ElseIf newpassword <> confirmpassword Then Response.Write "Confirm password and new password are not the same!" ElseIf oldpassword = newpassword Then Response.Write "Old password and new password are the same!" Else sql = "UPDATE mem SET password = '" & newpassword & "' WHERE " _ & "username = '" & Request.Form("username") & "'" conn.Execute(sql) Response.Write "Your Password has been changed!" End If End If rs.Close Set rs = Nothing conn.Close Set conn = Nothing 'End If
Bookmarks