I have a stored procedure that I call from an aspx page but for some weird
reason i get this error message:
Procedure 'sp_insert_customer' expects parameter '@username', which was not
supplied.
Here is my stored proc
CREATE PROCEDURE dbo.sp_insert_customer
@username varchar(16),
@password varchar(34),
@email varchar(128),
@firstName varchar(50),
@lastName varchar(50),
@company varchar(50),
@address varchar(50),
@address2 varchar(50),
@city varchar(50),
@state varchar(50),
@zip varchar(50),
@country char(2),
@telephone varchar(50),
@cellPhone varchar(50),
@fax varchar(50)
AS
INSERT INTO CUSTOMERS
(username, [password], email, first_name, last_name, company, address,
address2, city, state_province, zip_postal, country, telephone,
cell_phone, fax)
VALUES
(@username, @password, @email, @firstName, @lastName, @company, @address,
@address2, @city, @state, @zip, @country, @telephone, @cellPhone, @fax)
GO
And here is the funtion I am calling it from
Public Function insert() As Boolean
Dim oCmd As SqlCommand
Try
oCn.Open()
oCmd = oCn.CreateCommand
With oCmd
.CommandType = CommandType.StoredProcedure
.CommandText = "sp_insert_customer"
With .Parameters
.Add("@username", SqlDbType.VarChar, 16, m_username)
.Add("@password", SqlDbType.VarChar, 34, m_password)
.Add("@email", SqlDbType.VarChar, 128, m_email)
.Add("@firstName", SqlDbType.VarChar, 50, m_firstName)
.Add("@lastName", SqlDbType.VarChar, 50, m_lastName)
.Add("@company", SqlDbType.VarChar, 50, m_company)
.Add("@address", SqlDbType.VarChar, 50, m_address)
.Add("@address2", SqlDbType.VarChar, 50, m_address2)
.Add("@city", SqlDbType.VarChar, 50, m_city)
.Add("@state", SqlDbType.VarChar, 50, m_state)
.Add("@zip", SqlDbType.VarChar, 50, m_zip)
.Add("@country", SqlDbType.Char, 2, m_country)
.Add("@telephone", SqlDbType.VarChar, 50, m_telephone)
.Add("@cellPhone", SqlDbType.VarChar, 50, m_cellPhone)
.Add("@fax", m_fax)
End With
End With
oCmd.Prepare()
oCmd.ExecuteNonQuery()
Catch ex As Exception
m_lastError = ex.Message
Return False
Catch sqlEx As Exception
m_lastError = sqlEx.Message
Return False
Finally
oCmd.Dispose()
oCn.Close()
End Try
Return True
End Function
Now the bizzare thing is if I modify the parameter list of the .Add function
everything works ok. where is the problem???????
Here is the working version of that function.
Public Function insert() As Boolean
Dim oCmd As SqlCommand
Try
oCn.Open()
oCmd = oCn.CreateCommand
With oCmd
.CommandType = CommandType.StoredProcedure
.CommandText = "sp_insert_customer"
With .Parameters
.Add("@username", m_username)
.Add("@password", m_password)
.Add("@email", m_email)
.Add("@firstName", m_firstName)
.Add("@lastName", m_lastName)
.Add("@company", m_company)
.Add("@address", m_address)
.Add("@address2", m_address2)
.Add("@city", m_city)
.Add("@state", m_state)
.Add("@zip", m_zip)
.Add("@country", m_country)
.Add("@telephone", m_telephone)
.Add("@cellPhone", m_cellPhone)
.Add("@fax", m_fax)
End With
End With
oCmd.Prepare()
oCmd.ExecuteNonQuery()
Catch ex As Exception
m_lastError = ex.Message
Return False
Catch sqlEx As Exception
m_lastError = sqlEx.Message
Return False
Finally
oCmd.Dispose()
oCn.Close()
End Try
Return True
End Function 5 882
The first version does not work because you never pass in the value of the
parameters. The fourth parameter is the source column, not the value.
Tu-Thach
"Michael S. Kolias" wrote: I have a stored procedure that I call from an aspx page but for some weird reason i get this error message: Procedure 'sp_insert_customer' expects parameter '@username', which was not supplied.
Here is my stored proc CREATE PROCEDURE dbo.sp_insert_customer
@username varchar(16), @password varchar(34), @email varchar(128), @firstName varchar(50), @lastName varchar(50), @company varchar(50), @address varchar(50), @address2 varchar(50), @city varchar(50), @state varchar(50), @zip varchar(50), @country char(2), @telephone varchar(50), @cellPhone varchar(50), @fax varchar(50)
AS
INSERT INTO CUSTOMERS
(username, [password], email, first_name, last_name, company, address, address2, city, state_province, zip_postal, country, telephone, cell_phone, fax)
VALUES
(@username, @password, @email, @firstName, @lastName, @company, @address, @address2, @city, @state, @zip, @country, @telephone, @cellPhone, @fax)
GO And here is the funtion I am calling it from
Public Function insert() As Boolean Dim oCmd As SqlCommand
Try oCn.Open() oCmd = oCn.CreateCommand
With oCmd .CommandType = CommandType.StoredProcedure .CommandText = "sp_insert_customer" With .Parameters .Add("@username", SqlDbType.VarChar, 16, m_username) .Add("@password", SqlDbType.VarChar, 34, m_password) .Add("@email", SqlDbType.VarChar, 128, m_email) .Add("@firstName", SqlDbType.VarChar, 50, m_firstName) .Add("@lastName", SqlDbType.VarChar, 50, m_lastName) .Add("@company", SqlDbType.VarChar, 50, m_company) .Add("@address", SqlDbType.VarChar, 50, m_address) .Add("@address2", SqlDbType.VarChar, 50, m_address2) .Add("@city", SqlDbType.VarChar, 50, m_city) .Add("@state", SqlDbType.VarChar, 50, m_state) .Add("@zip", SqlDbType.VarChar, 50, m_zip) .Add("@country", SqlDbType.Char, 2, m_country) .Add("@telephone", SqlDbType.VarChar, 50, m_telephone) .Add("@cellPhone", SqlDbType.VarChar, 50, m_cellPhone) .Add("@fax", m_fax) End With End With oCmd.Prepare() oCmd.ExecuteNonQuery()
Catch ex As Exception m_lastError = ex.Message Return False
Catch sqlEx As Exception m_lastError = sqlEx.Message Return False
Finally oCmd.Dispose() oCn.Close() End Try
Return True End Function
Now the bizzare thing is if I modify the parameter list of the .Add function everything works ok. where is the problem??????? Here is the working version of that function.
Public Function insert() As Boolean Dim oCmd As SqlCommand
Try oCn.Open() oCmd = oCn.CreateCommand
With oCmd .CommandType = CommandType.StoredProcedure .CommandText = "sp_insert_customer" With .Parameters .Add("@username", m_username) .Add("@password", m_password) .Add("@email", m_email) .Add("@firstName", m_firstName) .Add("@lastName", m_lastName) .Add("@company", m_company) .Add("@address", m_address) .Add("@address2", m_address2) .Add("@city", m_city) .Add("@state", m_state) .Add("@zip", m_zip) .Add("@country", m_country) .Add("@telephone", m_telephone) .Add("@cellPhone", m_cellPhone) .Add("@fax", m_fax) End With End With oCmd.Prepare() oCmd.ExecuteNonQuery()
Catch ex As Exception m_lastError = ex.Message Return False
Catch sqlEx As Exception m_lastError = sqlEx.Message Return False
Finally oCmd.Dispose() oCn.Close() End Try
Return True End Function
And don't prefix your SP name with "sp_" unless you don't care about
performance.
--
____________________________________
William (Bill) Vaughn
Author, Mentor, Consultant
Microsoft MVP www.betav.com
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
__________________________________
"Tu-Thach" <Tu*****@discussions.microsoft.com> wrote in message
news:53**********************************@microsof t.com... The first version does not work because you never pass in the value of the parameters. The fourth parameter is the source column, not the value.
Tu-Thach
"Michael S. Kolias" wrote:
I have a stored procedure that I call from an aspx page but for some weird reason i get this error message: Procedure 'sp_insert_customer' expects parameter '@username', which was not supplied.
Here is my stored proc CREATE PROCEDURE dbo.sp_insert_customer
@username varchar(16), @password varchar(34), @email varchar(128), @firstName varchar(50), @lastName varchar(50), @company varchar(50), @address varchar(50), @address2 varchar(50), @city varchar(50), @state varchar(50), @zip varchar(50), @country char(2), @telephone varchar(50), @cellPhone varchar(50), @fax varchar(50)
AS
INSERT INTO CUSTOMERS
(username, [password], email, first_name, last_name, company, address, address2, city, state_province, zip_postal, country, telephone, cell_phone, fax)
VALUES
(@username, @password, @email, @firstName, @lastName, @company, @address, @address2, @city, @state, @zip, @country, @telephone, @cellPhone, @fax)
GO And here is the funtion I am calling it from
Public Function insert() As Boolean Dim oCmd As SqlCommand
Try oCn.Open() oCmd = oCn.CreateCommand
With oCmd .CommandType = CommandType.StoredProcedure .CommandText = "sp_insert_customer" With .Parameters .Add("@username", SqlDbType.VarChar, 16, m_username) .Add("@password", SqlDbType.VarChar, 34, m_password) .Add("@email", SqlDbType.VarChar, 128, m_email) .Add("@firstName", SqlDbType.VarChar, 50, m_firstName) .Add("@lastName", SqlDbType.VarChar, 50, m_lastName) .Add("@company", SqlDbType.VarChar, 50, m_company) .Add("@address", SqlDbType.VarChar, 50, m_address) .Add("@address2", SqlDbType.VarChar, 50, m_address2) .Add("@city", SqlDbType.VarChar, 50, m_city) .Add("@state", SqlDbType.VarChar, 50, m_state) .Add("@zip", SqlDbType.VarChar, 50, m_zip) .Add("@country", SqlDbType.Char, 2, m_country) .Add("@telephone", SqlDbType.VarChar, 50, m_telephone) .Add("@cellPhone", SqlDbType.VarChar, 50, m_cellPhone) .Add("@fax", m_fax) End With End With oCmd.Prepare() oCmd.ExecuteNonQuery()
Catch ex As Exception m_lastError = ex.Message Return False
Catch sqlEx As Exception m_lastError = sqlEx.Message Return False
Finally oCmd.Dispose() oCn.Close() End Try
Return True End Function
Now the bizzare thing is if I modify the parameter list of the .Add function everything works ok. where is the problem??????? Here is the working version of that function.
Public Function insert() As Boolean Dim oCmd As SqlCommand
Try oCn.Open() oCmd = oCn.CreateCommand
With oCmd .CommandType = CommandType.StoredProcedure .CommandText = "sp_insert_customer" With .Parameters .Add("@username", m_username) .Add("@password", m_password) .Add("@email", m_email) .Add("@firstName", m_firstName) .Add("@lastName", m_lastName) .Add("@company", m_company) .Add("@address", m_address) .Add("@address2", m_address2) .Add("@city", m_city) .Add("@state", m_state) .Add("@zip", m_zip) .Add("@country", m_country) .Add("@telephone", m_telephone) .Add("@cellPhone", m_cellPhone) .Add("@fax", m_fax) End With End With oCmd.Prepare() oCmd.ExecuteNonQuery()
Catch ex As Exception m_lastError = ex.Message Return False
Catch sqlEx As Exception m_lastError = sqlEx.Message Return False
Finally oCmd.Dispose() oCn.Close() End Try
Return True End Function
Why is that ?
William (Bill) Vaughn wrote: And don't prefix your SP name with "sp_" unless you don't care about performance.
--
An artist is someone who produces things that
people don't need to have but that he - for some
reason - thinks it would be a good idea to give them.
Andy Warhol
"Jeph Axxe" <he***@metal.dude> wrote in message
news:34*************@individual.net... Why is that ?
Truncated
Here's why. Snipped from http://vyaskn.tripod.com/object_naming.htm
" If you are using Microsoft SQL Server, never prefix your stored procedures
with 'sp_', unless you are storing the procedure in the master database. If
you call a stored procedure prefixed with sp_, SQL Server always looks for
this procedure in the master database. Only after checking in the master
database (if not found) it searches the current database. "
For the same reason, don't prefix your sp's with "xp_"
/ Fredrik
Thanx for the tips everyone. really appreciate it.
"Michael S. Kolias" <mi***@alspaconsulting.com> wrote in message
news:YN********************@speakeasy.net... I have a stored procedure that I call from an aspx page but for some weird reason i get this error message: Procedure 'sp_insert_customer' expects parameter '@username', which was
not supplied.
Here is my stored proc CREATE PROCEDURE dbo.sp_insert_customer
@username varchar(16), @password varchar(34), @email varchar(128), @firstName varchar(50), @lastName varchar(50), @company varchar(50), @address varchar(50), @address2 varchar(50), @city varchar(50), @state varchar(50), @zip varchar(50), @country char(2), @telephone varchar(50), @cellPhone varchar(50), @fax varchar(50)
AS
INSERT INTO CUSTOMERS
(username, [password], email, first_name, last_name, company, address, address2, city, state_province, zip_postal, country, telephone, cell_phone, fax)
VALUES
(@username, @password, @email, @firstName, @lastName, @company, @address, @address2, @city, @state, @zip, @country, @telephone, @cellPhone, @fax)
GO And here is the funtion I am calling it from
Public Function insert() As Boolean Dim oCmd As SqlCommand
Try oCn.Open() oCmd = oCn.CreateCommand
With oCmd .CommandType = CommandType.StoredProcedure .CommandText = "sp_insert_customer" With .Parameters .Add("@username", SqlDbType.VarChar, 16, m_username) .Add("@password", SqlDbType.VarChar, 34, m_password) .Add("@email", SqlDbType.VarChar, 128, m_email) .Add("@firstName", SqlDbType.VarChar, 50, m_firstName) .Add("@lastName", SqlDbType.VarChar, 50, m_lastName) .Add("@company", SqlDbType.VarChar, 50, m_company) .Add("@address", SqlDbType.VarChar, 50, m_address) .Add("@address2", SqlDbType.VarChar, 50, m_address2) .Add("@city", SqlDbType.VarChar, 50, m_city) .Add("@state", SqlDbType.VarChar, 50, m_state) .Add("@zip", SqlDbType.VarChar, 50, m_zip) .Add("@country", SqlDbType.Char, 2, m_country) .Add("@telephone", SqlDbType.VarChar, 50, m_telephone) .Add("@cellPhone", SqlDbType.VarChar, 50, m_cellPhone) .Add("@fax", m_fax) End With End With oCmd.Prepare() oCmd.ExecuteNonQuery()
Catch ex As Exception m_lastError = ex.Message Return False
Catch sqlEx As Exception m_lastError = sqlEx.Message Return False
Finally oCmd.Dispose() oCn.Close() End Try
Return True End Function
Now the bizzare thing is if I modify the parameter list of the .Add
function everything works ok. where is the problem??????? Here is the working version of that function.
Public Function insert() As Boolean Dim oCmd As SqlCommand
Try oCn.Open() oCmd = oCn.CreateCommand
With oCmd .CommandType = CommandType.StoredProcedure .CommandText = "sp_insert_customer" With .Parameters .Add("@username", m_username) .Add("@password", m_password) .Add("@email", m_email) .Add("@firstName", m_firstName) .Add("@lastName", m_lastName) .Add("@company", m_company) .Add("@address", m_address) .Add("@address2", m_address2) .Add("@city", m_city) .Add("@state", m_state) .Add("@zip", m_zip) .Add("@country", m_country) .Add("@telephone", m_telephone) .Add("@cellPhone", m_cellPhone) .Add("@fax", m_fax) End With End With oCmd.Prepare() oCmd.ExecuteNonQuery()
Catch ex As Exception m_lastError = ex.Message Return False
Catch sqlEx As Exception m_lastError = sqlEx.Message Return False
Finally oCmd.Dispose() oCn.Close() End Try
Return True End Function
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Naresh |
last post by:
I have been having a problem and I don't know where to go for help. The microsoft support is only for a fees. Can anyone at all please at least point to a site or some place where I can hope for some...
|
by: Tat |
last post by:
Hello,
I have a weird show stopper here.
I created a Windows application (.NET 1.1). My dev. machine is not hooked up
to the Internet, neither it has firewall.
I installed the app on a...
|
by: Jeannie |
last post by:
Hello group!
I'm in Europe, traveling with my laptop, and I don't any compilers
other than Borland C++ 5.5. available. I also don't have any manuals
or help files available. Sadly, more...
|
by: TN Bella |
last post by:
Hi,
I am trying to get my compare validator to fire properly...Since I have
panels the validator wouldn't work properly, the app would fire right
but would insert the data regardless and the...
|
by: pemo |
last post by:
Is C really portable? And, apologies, but this is possibly a little OT?
In c.l.c we often see 'not portable' comments, but I wonder just how
portable C apps really are.
I don't write...
|
by: CMM |
last post by:
Is it me or has anyone noticed that F1 is really dumb in VS2005. Since VB3 I
have been able to click F1 on an ambiguous method in code and the IDE
automatically determines the type based on the...
|
by: Chrisjc |
last post by:
I am not good at VB and I am taking a class for it at ITT... I am doing a program chanllenge and really really need help it is due today... and I am not good at this at all... could some one please...
|
by: tyson verdez |
last post by:
imma beginner and my iinstructur doesnt do hands on wit us we learn out of a lecture but it doesnt help some1 please help me
1. (The MyTriangle class) Write a class/program named MyTriangle. ...
|
by: lolixpop |
last post by:
Hi everybody thanks for reading! i have a few actionscript questions that i really need help on...any help would be greatly appreciated! Okay so i came upon this tutorial:...
|
by: raylopez99 |
last post by:
I ran afoul of this Compiler error CS1612 recently, when trying to
modify a Point, which I had made have a property. It's pointless to
do this (initially it will compile, but you'll run into...
|
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: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
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: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
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...
| |