quinta-feira, 21 de dezembro de 2023

DROP TABLE IF EXISTS - Incorrect syntax near the keyword 'IF'.

Se estiver retornado o erro Incorrect syntax near the keyword 'IF', e o comando estiver semelhante a este DROP TABLE IF EXISTS #tmpExtatisticaExame;


Isto, acontece porque este comando somente funciona com versões do SQL SERVER a partir de 2016.


Para compatibilidade com versões anteriores  do SQL-Server, use isto:

IF OBJECT_ID(N'tempdb..#tmpExtatisticaExame', N'U') IS NOT NULL   

DROP TABLE #tmpExtatisticaExame;  

GO  


Exemplo completo:


CREATE TABLE #temptable (col1 INT);  

GO  

INSERT INTO #temptable  

VALUES (10);  

GO  

SELECT * FROM #temptable;  

GO  

IF OBJECT_ID(N'tempdb..#temptable', N'U') IS NOT NULL   

DROP TABLE #temptable;  

GO  

--Test the drop.  

SELECT * FROM #temptable; 

O exemplo anterior cria uma tabela temporária, testa sua existência, a descarta e testa novamente sua existência. Este exemplo não usa a sintaxe IF EXISTS, que está disponível a partir do SQL Server 2016 (13.x).




quarta-feira, 20 de dezembro de 2023

Unable to cast object of type 'System.Data.DataRowView' to type 'System.IConvertible'

 No meu caso, solucionei este problema realizando uma simples alteração


mova a primeira linha para a última:


Antes

comboBox.DataSource = dt; // this line
comboBox.DisplayMember = "nome";
comboBox.ValueMember = "id";

Depois

comboBox.DisplayMember = "nome";
comboBox.ValueMember = "id";
comboBox.DataSource = dt;