Link to home
Start Free TrialLog in
Avatar of jimmysaunders
jimmysaunders

asked on

SQLDataAdapter throwing exception

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
Avatar of Anurag Thakur
Anurag Thakur
Flag of India image

@title is missing
ASKER CERTIFIED SOLUTION
Avatar of jimmysaunders
jimmysaunders

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial