codeoxygen
asked on
how to pass sql parameter as null value in to integer data type variable
how to pass sql parameter as null value in to integer data type variable
po =txt_PONo_int.Text == "" ? 0 : Convert.ToInt32(txt_PONo_i nt.Text);
how zero should be replaced , i want save it as null instead of zero
po =txt_PONo_int.Text == "" ? 0 : Convert.ToInt32(txt_PONo_i
how zero should be replaced , i want save it as null instead of zero
Dbnull.value
It depends what po is. If it's a Nullable<int> then you set it to null. The translation to DbNull should come when you are assigning the value to a parameter on a command object.
ASKER
o.po o is a entity class object PO is variable of that class , whose value is int
in entity class po is declared as
public int po {get;set;}
can help me how to declare it if i want to pass null value to DB sql server
in entity class po is declared as
public int po {get;set;}
can help me how to declare it if i want to pass null value to DB sql server
int cannot accept NULL or DBNull.Value, as far as I know, so you will have to put some different code later, where po is used in the db query.
Is po defined as allowing null in your database table? It may just be that it hasn't filtered through to your entity model.
Edit the model and look at the settings for the po column. If "Nullable" is set to "(None)" then change it to true. But it needs to be nullable in the underlying table too.
Edit the model and look at the settings for the po column. If "Nullable" is set to "(None)" then change it to true. But it needs to be nullable in the underlying table too.
ASKER
example for declaring as nullable
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
If you're building your entity model from a database then you won't specify they type directly; it will be picked up from the underlying columns data type.
But yes, it would appear as int?.
But yes, it would appear as int?.
Hi codeoxygen,
I think you can just give the SQL Stored Procedure Parameter a default value of NULL, by doing so the input param becomes optional; then don't pass that param when you execute the stored procedure from your code. Sorta the same effect as setting the ConvertEmptyStringToNull property in the SQL Parameter definition of a SqlDataSource object.
Alan
I think you can just give the SQL Stored Procedure Parameter a default value of NULL, by doing so the input param becomes optional; then don't pass that param when you execute the stored procedure from your code. Sorta the same effect as setting the ConvertEmptyStringToNull property in the SQL Parameter definition of a SqlDataSource object.
CREATE PROCEDURE dbo.my_proc
@po int = NULL, -- NULL default value
@mo int = 2, -- Default value of 2
@ko int = 3 -- Default value of 3
AS
SET NOCOUNT ON;
SELECT @po, @mo, @ko;
GO
-- exec dbo.my_proc -- No parameters supplied
-- Returns:
-- NULL 2 3
Respectfully yours,Alan