Hi,
I've been working through a number of turorials to try to learn more about
retrieving data from a SQL database. I think i've mastered techniques where
i create a sql string in the page and pass it to the Db and retrieveing data
from a stored procedure, but I can't get the hang of parameters.
I have a method where I can get the parameters passed to the sp but it
doesn't want to return any results. Here's a copy of my code:
<democode>
Private objCnn as New SqlConnection
("server=(local);database=test;UID=sa;PWD=")
Sub Page_Load (Sender as Object, e as Eventargs)
'Stored procedure with parameters
Dim objCmd As New SqlCommand("sploginUser",objCnn)
objCmd.CommandType = CommandType.StoredProcedure
Dim objParam as New SqlParameter ("@UserName", SqlDbType.char)
objParam.Value = "Mike"
objCmd.Parameters.Add (objParam)
objParam = New SqlParameter ("@Password", SqlDbType.char)
objParam.Value = "m"
objCmd.Parameters.Add (objParam)
Dim objReader As SqlDataReader
Try
objCmd.Connection.Open()
objReader = objCmd.ExecuteReader()
Catch ex as Exception
lblMessage.Text = "Database error: " & ex.message
End Try
dgData.DataSource = objReader
dgData.DataBind()
' objReader.Close
objCmd.Connection.Close()
End Sub
</democode>
This calls the procedure in my database as follows:
<sampleproc>
CREATE PROCEDURE spLoginUser
@UserName varchar,
@Password varchar
AS
SELECT UserID FROM tblUsers
WHERE Username = @Username
AND Password = @Password
GO
</sampleproc>
All I get in return is a blank screen. If i give the parameters values in
the proc then I can get query analyser to return values, just not from my
page. When passing parameters I can see in Profiler that the parameter is
passed to the proc but nothing comes back.
Is there anything obvious here that i'm doing wrong?
Cheers,
<M>ike 4 2972
Mike,
I see two things that could be a problem.
The first is in your stored procedure. Instead of "Go" at the end try
"Return".
The second is only a potential problem, I haven't tested if the way your are
adding your parameters to your SQLCommand works or not.
If changing "Go" to "Return" doesn't solve your problem you may also have to
create your parameters separately. Meaning don't re-use the same container
for the second parameter.
Here's how I create mine:
objCmd.Parameters.Add (New SqlClient.SqlParameter(("@UserName",
SqlDbType.varchar))
objCmd.Parameters("@UserName").Value = "m"
One other thing I noticed. In your stored procedure you are declaring your
input parameters as varchar but in the command you've declared them as char.
I hope this helps.
Sincerely,
--
S. Justin Gengo, MCP
Web Developer
Free code library at: www.aboutfortunate.com
"Out of chaos comes order."
Nietzche
"Mike Dinnis" <mike dot dinnis at abraxas-uk dot com> wrote in message
news:uN*************@tk2msftngp13.phx.gbl... Hi,
I've been working through a number of turorials to try to learn more about retrieving data from a SQL database. I think i've mastered techniques
where i create a sql string in the page and pass it to the Db and retrieveing
data from a stored procedure, but I can't get the hang of parameters.
I have a method where I can get the parameters passed to the sp but it doesn't want to return any results. Here's a copy of my code:
<democode> Private objCnn as New SqlConnection ("server=(local);database=test;UID=sa;PWD=")
Sub Page_Load (Sender as Object, e as Eventargs)
'Stored procedure with parameters Dim objCmd As New SqlCommand("sploginUser",objCnn) objCmd.CommandType = CommandType.StoredProcedure
Dim objParam as New SqlParameter ("@UserName", SqlDbType.char) objParam.Value = "Mike" objCmd.Parameters.Add (objParam)
objParam = New SqlParameter ("@Password", SqlDbType.char) objParam.Value = "m" objCmd.Parameters.Add (objParam)
Dim objReader As SqlDataReader
Try objCmd.Connection.Open() objReader = objCmd.ExecuteReader() Catch ex as Exception lblMessage.Text = "Database error: " & ex.message End Try
dgData.DataSource = objReader dgData.DataBind()
' objReader.Close objCmd.Connection.Close() End Sub </democode>
This calls the procedure in my database as follows:
<sampleproc> CREATE PROCEDURE spLoginUser @UserName varchar, @Password varchar AS SELECT UserID FROM tblUsers WHERE Username = @Username AND Password = @Password GO </sampleproc>
All I get in return is a blank screen. If i give the parameters values in the proc then I can get query analyser to return values, just not from my page. When passing parameters I can see in Profiler that the parameter is passed to the proc but nothing comes back.
Is there anything obvious here that i'm doing wrong?
Cheers,
<M>ike
Thanks for your tips.
I've amended the sp to show Return rather than Go, but upon saving it SQL
adds the Go back again (and keeps the Return). The systax checker claims
that it is still valid. Should this cause concern?
Running it in this format still returns an empty page so I tried your
paramater assignment method. It seems to accept the first parameter but
ignores the second. Should the syntax be the same for both (excluding
paramenter name/value)?
I've also amended the code to reflect the sp's idea of paramater definition,
but still no joy.
I've trawled thorugh a whole load of Microsoft Library articles but most
rely on Windows security rather than mixed as I am attempting to use. Should
this make any difference?
Thanks,
<M>ike
"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl... Mike,
I see two things that could be a problem.
The first is in your stored procedure. Instead of "Go" at the end try "Return".
The second is only a potential problem, I haven't tested if the way your
are adding your parameters to your SQLCommand works or not.
If changing "Go" to "Return" doesn't solve your problem you may also have
to create your parameters separately. Meaning don't re-use the same container for the second parameter.
Here's how I create mine:
objCmd.Parameters.Add (New SqlClient.SqlParameter(("@UserName", SqlDbType.varchar)) objCmd.Parameters("@UserName").Value = "m"
One other thing I noticed. In your stored procedure you are declaring your input parameters as varchar but in the command you've declared them as
char. I hope this helps.
Sincerely,
-- S. Justin Gengo, MCP Web Developer
Free code library at: www.aboutfortunate.com
"Out of chaos comes order." Nietzche
"Mike Dinnis" <mike dot dinnis at abraxas-uk dot com> wrote in message news:uN*************@tk2msftngp13.phx.gbl... Hi,
I've been working through a number of turorials to try to learn more
about retrieving data from a SQL database. I think i've mastered techniques where i create a sql string in the page and pass it to the Db and retrieveing data from a stored procedure, but I can't get the hang of parameters.
I have a method where I can get the parameters passed to the sp but it doesn't want to return any results. Here's a copy of my code:
<democode> Private objCnn as New SqlConnection ("server=(local);database=test;UID=sa;PWD=")
Sub Page_Load (Sender as Object, e as Eventargs)
'Stored procedure with parameters Dim objCmd As New SqlCommand("sploginUser",objCnn) objCmd.CommandType = CommandType.StoredProcedure
Dim objParam as New SqlParameter ("@UserName",
SqlDbType.char) objParam.Value = "Mike" objCmd.Parameters.Add (objParam)
objParam = New SqlParameter ("@Password", SqlDbType.char) objParam.Value = "m" objCmd.Parameters.Add (objParam)
Dim objReader As SqlDataReader
Try objCmd.Connection.Open() objReader = objCmd.ExecuteReader() Catch ex as Exception lblMessage.Text = "Database error: " & ex.message End Try
dgData.DataSource = objReader dgData.DataBind()
' objReader.Close objCmd.Connection.Close() End Sub </democode>
This calls the procedure in my database as follows:
<sampleproc> CREATE PROCEDURE spLoginUser @UserName varchar, @Password varchar AS SELECT UserID FROM tblUsers WHERE Username = @Username AND Password = @Password GO </sampleproc>
All I get in return is a blank screen. If i give the parameters values
in the proc then I can get query analyser to return values, just not from
my page. When passing parameters I can see in Profiler that the parameter
is passed to the proc but nothing comes back.
Is there anything obvious here that i'm doing wrong?
Cheers,
<M>ike
Ah ha!
I think i've sussed it. The second parameter wasn't being accepted as I
hadn't changed the second line to reflect the new parameter name. (Doh!)
I also amended the proc as I noticed in Profiler that although it was now
expecting a varchar type I hadn't specified how many characters so it
defaulted to 1! By adding an arbitary figure (20) it did indeed return the
results I would have expected.
Thank you for the pointers!
<M>ike
"S. Justin Gengo" <sj*****@aboutfortunate.com> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl... Mike,
I see two things that could be a problem.
The first is in your stored procedure. Instead of "Go" at the end try "Return".
The second is only a potential problem, I haven't tested if the way your
are adding your parameters to your SQLCommand works or not.
If changing "Go" to "Return" doesn't solve your problem you may also have
to create your parameters separately. Meaning don't re-use the same container for the second parameter.
Here's how I create mine:
objCmd.Parameters.Add (New SqlClient.SqlParameter(("@UserName", SqlDbType.varchar)) objCmd.Parameters("@UserName").Value = "m"
One other thing I noticed. In your stored procedure you are declaring your input parameters as varchar but in the command you've declared them as
char. I hope this helps.
Sincerely,
-- S. Justin Gengo, MCP Web Developer
Free code library at: www.aboutfortunate.com
"Out of chaos comes order." Nietzche
"Mike Dinnis" <mike dot dinnis at abraxas-uk dot com> wrote in message news:uN*************@tk2msftngp13.phx.gbl... Hi,
I've been working through a number of turorials to try to learn more
about retrieving data from a SQL database. I think i've mastered techniques where i create a sql string in the page and pass it to the Db and retrieveing data from a stored procedure, but I can't get the hang of parameters.
I have a method where I can get the parameters passed to the sp but it doesn't want to return any results. Here's a copy of my code:
<democode> Private objCnn as New SqlConnection ("server=(local);database=test;UID=sa;PWD=")
Sub Page_Load (Sender as Object, e as Eventargs)
'Stored procedure with parameters Dim objCmd As New SqlCommand("sploginUser",objCnn) objCmd.CommandType = CommandType.StoredProcedure
Dim objParam as New SqlParameter ("@UserName",
SqlDbType.char) objParam.Value = "Mike" objCmd.Parameters.Add (objParam)
objParam = New SqlParameter ("@Password", SqlDbType.char) objParam.Value = "m" objCmd.Parameters.Add (objParam)
Dim objReader As SqlDataReader
Try objCmd.Connection.Open() objReader = objCmd.ExecuteReader() Catch ex as Exception lblMessage.Text = "Database error: " & ex.message End Try
dgData.DataSource = objReader dgData.DataBind()
' objReader.Close objCmd.Connection.Close() End Sub </democode>
This calls the procedure in my database as follows:
<sampleproc> CREATE PROCEDURE spLoginUser @UserName varchar, @Password varchar AS SELECT UserID FROM tblUsers WHERE Username = @Username AND Password = @Password GO </sampleproc>
All I get in return is a blank screen. If i give the parameters values
in the proc then I can get query analyser to return values, just not from
my page. When passing parameters I can see in Profiler that the parameter
is passed to the proc but nothing comes back.
Is there anything obvious here that i'm doing wrong?
Cheers,
<M>ike
ADO.Net can be particularly finicky when it comes to
matching parameter datatypes to the actual database
types. Try switching your parameters to
SqlDbType.VarChar.
For debugging, you can also try a couple of steps to see
what's being received. Use SqlDataReader.HasRows to
determine if anything was actually received. You might
also switch (for testing) to a Dataset, and check the
Rows.Count of the table to see how many rows you have.
Erik J Sawyer
Webmaster
Kingsport City Schools -----Original Message----- Hi,
I've been working through a number of turorials to try
to learn more aboutretrieving data from a SQL database. I think i've
mastered techniques wherei create a sql string in the page and pass it to the Db
and retrieveing datafrom a stored procedure, but I can't get the hang of
parameters. I have a method where I can get the parameters passed to
the sp but itdoesn't want to return any results. Here's a copy of my
code: <democode> Private objCnn as New SqlConnection ("server=(local);database=test;UID=sa;PWD=")
Sub Page_Load (Sender as Object, e as Eventargs)
'Stored procedure with parameters Dim objCmd As New SqlCommand("sploginUser",objCnn) objCmd.CommandType = CommandType.StoredProcedure
Dim objParam as New SqlParameter
("@UserName", SqlDbType.char) objParam.Value = "Mike" objCmd.Parameters.Add (objParam)
objParam = New SqlParameter ("@Password",
SqlDbType.char) objParam.Value = "m" objCmd.Parameters.Add (objParam)
Dim objReader As SqlDataReader
Try objCmd.Connection.Open() objReader = objCmd.ExecuteReader() Catch ex as Exception lblMessage.Text = "Database error: " &
ex.message End Try
dgData.DataSource = objReader dgData.DataBind()
' objReader.Close objCmd.Connection.Close() End Sub </democode>
This calls the procedure in my database as follows:
<sampleproc> CREATE PROCEDURE spLoginUser @UserName varchar, @Password varchar AS SELECT UserID FROM tblUsers WHERE Username = @Username AND Password = @Password GO </sampleproc>
All I get in return is a blank screen. If i give the
parameters values inthe proc then I can get query analyser to return values,
just not from mypage. When passing parameters I can see in Profiler that
the parameter ispassed to the proc but nothing comes back.
Is there anything obvious here that i'm doing wrong?
Cheers,
<M>ike This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: gregpinero |
last post by:
Hey everyone,
I'm trying to call a system command "svnlook log \arms" from within
python and process the results. However I'm having trouble getting the
results of the command back into python....
|
by: zlatko |
last post by:
There is a form in an Access Project (.adp, Access front end with SQL
Server) for entering data into a table for temporary storing. Then, by
clicking a botton, several action stored procedures...
|
by: Pavils Jurjans |
last post by:
Hallo,
I have been programming for restricted environments where Internet Explorer
is a standard, so I haven't stumbled upon this problem until now, when I
need to write a DOM-compatible code.
...
|
by: Akira |
last post by:
Hello.
I'm having problem with passing parameters from .aspx file to user
control.
Could anyone tell me how to pass parameters from .aspx file to user
control(.ascx) and how to recieve parameters...
|
by: Paul Allan |
last post by:
I am new to ASP.net (intermediate ASP developer). I am developing a ASP.net
web application and I am having some difficulty calling and passing
parameters to a function that is declared in my...
|
by: David Freeman |
last post by:
Hi There!
I'm just wondering if there's a way to pass parameters (as if you were
passing parameters to a ASCX web control) when calling an ASPX page?
e.g.
MyDetailsPage.UserName = "david"
...
|
by: Nab |
last post by:
I have just tried to pass parameters to a procedure in VB 2005 and realised
that you only need to pass the input parameter. The output parameter's value
will be returned without the need to pass it...
|
by: Gert Wurzer |
last post by:
Hi!
I have an asp.net 2.0 web application that uses an iframe to access
another asp.bet 2.0 webapp via https.
I've already found a working prototype solution to create a dynamic
iframe taking...
|
by: =?Utf-8?B?UGF1bA==?= |
last post by:
Hi, just wondering if anyone can provide a brief example of passing
parameters from one webpage to another, C# VS2005? I need to pass several
selected values of dropdown list boxes to a secondary...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
| |