Click here to Skip to main content
15,884,353 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello all

I am getting an error message: " Object reference not set to an instance of an object. " next to line: so can someone help me to fix this error

C#
var orderExists = (Int32)ChkavailbleJobCMD.ExecuteScalar() > 0;


C#
protected void LinkButton4_Click(object sender, EventArgs e)
        {
            JobsMView.ActiveViewIndex = 2;

            using (var UsOrderCon = new SqlConnection(cs))
            {
                UsOrderCon.Open();

                string chksBervJobsSt = "Select JobNum, Jobtitle, Dept, VacCountry, Employer from jobs where Employer=@Emp";

                SqlCommand ChkavailbleJobCMD = new SqlCommand(chksBervJobsSt, UsOrderCon);

                ChkavailbleJobCMD.Parameters.AddWithValue("@Emp", "Berava");

                var orderExists = (Int32)ChkavailbleJobCMD.ExecuteScalar() > 0;


                if (orderExists)
                {
                    jobsAvaPan.Visible = true;

                    SqlDataAdapter BervJonavaADPA = new SqlDataAdapter("SELECT JobNum, Jobtitle, Dept, VacCountry, Employer FROM jobs WHERE Employer = @Emp ", cs);

                    BervJonavaADPA.SelectCommand.Parameters.AddWithValue("@Emp", "Berava");

                    DataSet BervJonavaDST = new DataSet();
                    BervJonavaADPA.Fill(BervJonavaDST);
                    GridView1.DataSource = BervJonavaDST.Tables[0];
                    GridView1.DataBind();

                }
                else
                {
                    NoJobAvPan.Visible = true;
                    NoJobLbl.Text = "Sorry, we don't have any job available at the moment";
                }
            }
        }
Posted
Comments
Michael_Davies 2-Aug-15 13:54pm    
An ExecuteScalar expects to return a single value, your SQL is returning five values so may be resulting in Nothing or DBNull.

Without understanding your database I suspect you just want JobNum returned, but I may be wrong. A further problem may occur if there is more than one jobs record for an Employer as that would return multiple rows.

1 solution

change
SQL
Select JobNum, Jobtitle, Dept, VacCountry, Employer from jobs where Employer=@Emp

to
SQL
Select count(*) from jobs where Employer=@Emp
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900