Error:- "Conversion failed when converting the varchar value '5,' to data type int"
My Store-P
ALTER proc [dbo].[procCheckDataStatus] @MasterTableName varchar(200),@ColValue varchar(20),@WorkFlowID int,@ModuleID int,@ScriptID int,@UserID int,@ipaddress varchar(100),@Result int output
as
DECLARE @TableName NVarchar(150), @TableColName NVarchar(150)
DECLARE @ValueExist int
DECLARE @SQLString NVarchar(max)
DECLARE @ParmDefinition nvarchar(500);
DECLARE @CountSQLQuery varchar(30);
set @Result = 0;
SET @ParmDefinition = N'@result varchar(30) OUTPUT';
DECLARE MyCursor CURSOR static FOR
select b.TableName,a.TableColName,c.TableName MasterTable
from dbo.SystemTableFeldMapping a,systemtables b,systemtables c where a.tableid=b.id and c.Id = a.ParentTableID
and c.TableName = @MasterTableName and c.Activestatus = 1
OPEN MyCursor FETCH NEXT FROM MyCursor
into @TableName,@TableColName,@MasterTableName
WHILE (@@FETCH_STATUS <> -1)
BEGIN
set @SQLString ='select @result =count(*) from ' +@TableName+' where '+@TableColName+ '='+@ColValue;
EXECUTE sp_executesql @SQLString,@ParmDefinition, @result=@CountSQLQuery OUTPUT;
if (convert(int,@CountSQLQuery)>0)
begin
insert into SystemLogs (WorkFlowID,ModuleID,ScriptID,LogDesc,UserID,IpAddress,Systemdate)
values (@WorkFlowID,@ModuleID,@ScriptID,'Value Found in Child // Child Table ='+@TableName+' // Key Field='+@TableColName+' // Master Table='+@MasterTableName ,@UserID,@ipaddress,GETDATE())
set @Result = @Result + 1;
end
FETCH NEXT FROM MyCursor INTO @TableName,@TableColName,@MasterTableName
END
CLOSE MyCursor;
DEALLOCATE MyCursor;
And My Code Here :-
public static Int32 GetDeleteStatus(string TableName, Int32 ColValue, Int32? WorkFlowID = 0, Int32? ScriptID = 0, Int32? ModuleID = 0, Int32 UserID = 0, string ipaddress = "")
{
IEConnection connection = ConnectionFactory.GetIEConnection();
DatabaseObject objDataNew = new DatabaseObject();
EParameter[] param1 = new EParameter[8];
param1[0] = new EParameter("MasterTableName", TableName);
param1[1] = new EParameter("ColValue", ColValue);
param1[2] = new EParameter("WorkFlowID", WorkFlowID);
param1[3] = new EParameter("ScriptID", ScriptID);
param1[4] = new EParameter("ModuleID", ModuleID);
param1[5] = new EParameter("UserID", UserID);
param1[6] = new EParameter("ipaddress", ipaddress);
Int32 Result = 0;
param1[7] = new EParameter("Result", "");
param1[7].Direction = EParameterDirection.Output;
connection.UseDBObject = EUseDBObject.StoredProcedure;
connection.StoredProcedure = "procCheckDataStatus";
connection.Parameters = param1;
bool value = Convert.ToBoolean(connection.ExecuteNonQuery());
if (Convert.ToInt32(param1[7].ReturnValue) > 0)
{
Result = Convert.ToInt32(param1[7].ReturnValue);
}
return Result;
}