SQL Server stored procedure if exists

deadEddie

Ideally, I'm trying to get a stored procedure to return 1 if exists, or 0 if not.

This is the stored procedure:

CREATE PROCEDURE [dbo].[spCheckForExistingTimecard]
   @userId int,
   @paYPeriodId int,
   @exists bit = 0 OUTPUT
AS
BEGIN
   IF EXISTS (SELECT COUNT (t.TimeCardId) 
              FROM TimeCard AS t
              WHERE t.PayPeriodId = @payPeriodId
                AND t.UserId = @userId )
      RETURN 1
   ELSE
      RETURN 0

Here's the code calling the stored procedure:

 public static int CheckForExistingTimecard(int userId, int payPeriodId)
 {
        using (SqlConnection connection = new SqlConnection(dbMaintenanceConnectionString))
        {
            connection.Open();

            using (SqlCommand sqlCommand = new SqlCommand("spCheckForExistingTimecard", connection))
            {
                sqlCommand.CommandType = CommandType.StoredProcedure;
                sqlCommand.Parameters.AddWithValue("@userId", userId);
                sqlCommand.Parameters.AddWithValue("@payPeriodId", payPeriodId);
                return (int)sqlCommand.ExecuteScalar();
            }
        }
    }

Problem is that I am getting an error

Object reference not set to an instance of an object

on the return line of the calling code.

Any help would be greatly appreciated

Neel

As documeneted in officeil site

The first column of the first row in the result set, or a null reference (Nothing in Visual Basic) if the result set is empty. Returns a maximum of 2033 characters.

ExecuteScalar returns null if no records were returned by the query

So this line:

return (int)sqlCommand.ExecuteScalar();

throws error

becaue it is trying to cast null to an int in that case. That'll raise a NullReferenceException.

you need to check for null:

object o = sqlCommand.ExecuteScalar();
item = o == null ? 0 : (int)o;

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Different ways to check if a stored procedure exists in SQL Server

From Dev

SQL server : stored procedure

From Dev

SQL Server Stored Procedure Parameter

From Dev

sql server stored procedure IN parameter

From Dev

Keyword SQL Server stored procedure

From Dev

SQL Server: using IF with as in stored procedure

From Dev

Error in SQL Server stored procedure

From Dev

SQL Server Stored Procedure select

From Dev

SQL Server Stored Procedure Parameter

From Dev

Executing a stored procedure in SQL Server?

From Dev

Expression in stored procedure sql server

From Dev

Sql server stored procedure and indexes

From Dev

Stored procedure in SQL Server 2012

From Dev

IF condition in SQL Server stored procedure

From Dev

SQL Server stored procedure with condition

From Dev

Create stored procedure on SQL Server

From Dev

Laravel SQL Server Stored procedure

From Dev

SQL Server Stored Procedure Optimization

From Dev

SQL Server : IF THEN ELSE in stored procedure

From Dev

SQL Server stored procedure with foreach

From Dev

T-SQL - stored procedure - "IF EXISTS" vs. "WHERE EXISTS"

From Dev

Stored procedure take value from stored procedure itself in SQL Server

From Dev

SQL Server 2012 - Pass stored procedure name to another stored procedure

From Dev

SQL Server Stored Procedure Using a Linked Server

From Dev

SQL Server Stored Procedure And SQL Injection

From Dev

SQL Server : Stored Procedure Syntax mishap

From Dev

Using insert stored procedure with SQL Server

From Dev

SQL Server: Switch statement in stored procedure

From Java

Search text in stored procedure in SQL Server