Click here to Skip to main content
15,891,136 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have created sql query which works in normal dataset, When iam trying to use same query using store procedure, result does not fetch the value.



SQL
string datatypeval="'first name','address'";
 string FieldNames1 = "select FId,DataTypeName from tbl_fieldname where DataTypeName in(" + datatypeval + ");";


Above query works perfectly.

When using store procedure, it doesnt fetch output value.

SQL
DataTable dt1 = dataval(datatypeval);


public static DataTable dataval(string datatypeval)
    {
        try
        {
            DataTable dt1;
            string[] ColumnName = new string[1];
            string[] values = new string[1];
            ColumnName[0] = "@dataval"; values[0] = datatypeval;
            dt1 = returnDatatable("datatype_Details", ColumnName, values);
            return dt1;
        }
        catch (Exception e)
        {
            throw e;
        }
    }
public static DataTable returnDatatable(string SPName, string[] ParameterName, string[] Values)
    {
        DataTable ds = new DataTable();
        try
        {
            openDBConnection();
            SqlConnection mssqlConn = mssqlConnection;
            SqlCommand Cmd = new SqlCommand(SPName, mssqlConn);
            SqlDataAdapter da = new SqlDataAdapter(Cmd);
            Cmd.CommandType = CommandType.StoredProcedure;
            for (int i = 0; i < ParameterName.Length; i++)
            {
                Cmd.Parameters.AddWithValue(ParameterName[i], Values[i]);
            }
            da.Fill(ds);
        }
        catch (Exception ex)
        {
           throw ex;
        }
        finally
        {
            closeDBConnection();
        }
        return ds;
    }


My SP Code:

SQL
ALTER PROCEDURE [dbo].[datatype_Details]
(
@dataval VARCHAR 
) 
AS
BEGIN
	 
	select FId,DataTypeName from tbl_fieldname  where DataTypeName in(@dataval)
END


What I have tried:

SQL
DataTable dt1 = dataval(datatypeval);
public static DataTable dataval(string datatypeval)
    {
        try
        {
            DataTable dt1;
            string[] ColumnName = new string[1];
            string[] values = new string[1];
            ColumnName[0] = "@dataval"; values[0] = datatypeval;
            dt1 = returnDatatable("datatype_Details", ColumnName, values);
            return dt1;
        }
        catch (Exception e)
        {
            throw e;
        }
    }
public static DataTable returnDatatable(string SPName, string[] ParameterName, string[] Values)
    {
        DataTable ds = new DataTable();
        try
        {
            openDBConnection();
            SqlConnection mssqlConn = mssqlConnection;
            SqlCommand Cmd = new SqlCommand(SPName, mssqlConn);
            SqlDataAdapter da = new SqlDataAdapter(Cmd);
            Cmd.CommandType = CommandType.StoredProcedure;
            for (int i = 0; i < ParameterName.Length; i++)
            {
                Cmd.Parameters.AddWithValue(ParameterName[i], Values[i]);
            }
            da.Fill(ds);
        }
        catch (Exception ex)
        {
           throw ex;
        }
        finally
        {
            closeDBConnection();
        }
        return ds;
    }
Posted
Updated 8-May-17 20:56pm
v4
Comments
_Asif_ 9-May-17 2:19am    
You need to share your SP code as well
vinodh muthusamy 9-May-17 2:22am    
Here is my SP code

ALTER PROCEDURE [dbo].[datatype_Details]
(
@dataval VARCHAR
)
AS
BEGIN

select FId,DataTypeName from tbl_fieldname where DataTypeName in(@dataval)
END

_Asif_ 9-May-17 2:26am    
Share SP test script.
vinodh muthusamy 9-May-17 2:35am    
how to check test script
_Asif_ 9-May-17 2:40am    
SPs need to be test separately, usually using SQL Server Management Studio. For example a test script could be like.

DECLARE @dataval VARCHAR(200)
SELECT @dataval = 'varchar';

EXEC datatype_Details @Dataval;

And check whether SP is working as per requirement. If not then fix the SP.

1 solution

 
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