Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

SQLDataAdapter throwing exception

Posted on 2009-04-01
2
Medium Priority
?
259 Views
Last Modified: 2012-05-06
Hello Experts,

I have the following stored procedure to insert a record in the table

       @EmpId            varchar(20),
      @Department varchar(50),
      @Title            varchar(50),
      @LastName      varchar(50),
      @FirstName      varchar(50),
      @Location      varchar(50),
      @Office            varchar(50),
      @Phone            varchar(25),
      @Fax            varchar(25),
      @Email            varchar(50)l
AS
BEGIN
      SET NOCOUNT ON;

      Insert Into tblEmployees
            (EmpId, Department,Title, EmpLastName, EmpFirstName,Location, Office, Phone, Fax, Email)
      Values
            (@EmpId, @Department, @Title, @LastName, @FirstName, @Location, @Office, @Phone, @Fax, @Email)

I am using this sp as InsertCommand of the SQLDataAdapter. Here is the C# code

con.Open();
SqlDataAdapter da = new SqlDataAdapter("Select EmpId,Department,EmpLastNam as LastName, EmpFirstName as FirstName, Location, Office, Email, Phone, Fax from tblEmployees",con);
                da.InsertCommand = new SqlCommand("InsertEmployeeRecord", con);
                da.InsertCommand.CommandType = CommandType.StoredProcedure;
                da.InsertCommand.Parameters.Add("@EmpId",SqlDbType.VarChar,20);
                da.InsertCommand.Parameters.Add("@Department",SqlDbType.VarChar,50);
                da.InsertCommand.Parameters.Add("@LastName",SqlDbType.VarChar,50);
                da.InsertCommand.Parameters.Add("@FirstName",SqlDbType.VarChar,50);
                da.InsertCommand.Parameters.Add("@Location",SqlDbType.VarChar,50);
                da.InsertCommand.Parameters.Add("@Office",SqlDbType.VarChar,50);
                da.InsertCommand.Parameters.Add("@Email",SqlDbType.VarChar,50);
                da.InsertCommand.Parameters.Add("@Phone",SqlDbType.VarChar,25);
                da.InsertCommand.Parameters.Add("@Fax",SqlDbType.VarChar,25);
                da.Update(table);

The last line throws an exception saying, "Procedure or function 'InsertEmployeeRecord' expects parameter '@EmpId', which was not supplied."

Whereas in the command window, I can see that EMPId is in the table.

>? table.Rows[0]["EmpId"]
"102275"

What am I doing wrong?

Thanks,

JS
0
Comment
Question by:jimmysaunders
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 26

Expert Comment

by:Anurag Thakur
ID: 24040578
@title is missing
0
 

Accepted Solution

by:
jimmysaunders earned 0 total points
ID: 24040895
Thanks, but that wasn't the reason since it was bombing on EmpID which wasn't missing. I figured out the problem. I had to provide the SourceColumn property while adding the parameter.

da.InsertCommand.Parameters.Add("@EmpId",SqlDbType.VarChar,20,"EmpId")
0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
In this blog post, we’ll look at how using thread_statistics can cause high memory usage.
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question