Pregunta: | 57829 - VARIABLE COMO NOMBRE DE CAMPO |
Autor: | Jorge Pariona |
Tengo problemas con este store procedure, cuando envio el nombre del campo por la variable WHERE @xCampo (se envia el siguiente valor en vb.net @xCampo="RUC") no ejecuta pero si cambio en el WHERE "RUC" si se ejecuta. El valor @xCampo cambia segun los campos de la tabla que se selecciona en un combobox desde VB.net
ALTER PROCEDURE [dbo].[MostrarEmpresas] @xTipo varchar(65), @xCampo varchar(65), @xLike varchar(65) AS BEGIN IF @xTipo = 'Comenzar por' BEGIN SELECT EMPRESA.ID_EMPRESA , EMPRESA.RUC , EMPRESA.RAZON_SOCIAL , EMPRESA.DIRECCION , DISTRITO.DESCRIPCION , EMPRESA.CONTACTO , EMPRESA.TELEFONO FROM EMPRESA INNER JOIN Distrito ON EMPRESA.Id_Distrito=Distrito.Id_Distrito WHERE @xCampo LIKE @xLike+'%' END |
Respuesta: | abel montalvo |
Hola espero y entiendas...esta es la idea solo modificala o ajustala a tus necesidades DECLARE @FormName NVARCHAR(50)='FrmFindTransa' DECLARE @ColumnName NVARCHAR(50)='FormName' DECLARE @query nvarchar(MAX)='SELECT FormName FROM dbo.TForms where '+@ColumnName+' like ''%'+@FormName+'%''' EXEC sp_executesql @query |