Hi,
Try this
ColoumnValues = "convert(datetime," + replace(ColoumnNames,'th','') + ") between convert(datetime,'" + replace(ds.Tables[0].Rows[i]["StartDuration"].ToString(),'th','') + "') and convert(datetime,'" + replace(ds.Tables[0].Rows[i]["EndDuration"].ToString(),'th','') + "')";
declare @date varchar(20)
set @date= '12-March-2013'
select @date
select CONVERT(datetime,replace(@date,'th',''),111)