Du kan fråga SQL Server för att kontrollera om det finns objekt.
För att kontrollera om databasen finns kan du använda den här frågan:
SELECT * FROM master.dbo.sysdatabases WHERE name = 'YourDatabase'
För att kontrollera om det finns tabeller kan du använda den här frågan mot din måldatabas:
SELECT * FROM sys.tables WHERE name = 'YourTable' AND type = 'U'
Den här länken nedan visar hur du kontrollerar att databasen finns i SQL Server med VB.NET-kod:
Kontrollera om SQL-databas finns på en server med vb.net
Refererad kod från länken ovan:
Du kan utföra kontrollen på ett annat sätt, så det görs i ett enda samtal genom att använda en EXISTS
kontrollera både databasen och en tabell:
IF NOT EXISTS (SELECT * FROM master.dbo.sysdatabases WHERE name = 'YourDatabase')
BEGIN
-- Database creation SQL goes here and is only called if it doesn't exist
END
-- You know at this point the database exists, so check if table exists
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'YourTable' AND type = 'U')
BEGIN
-- Table creation SQL goes here and is only called if it doesn't exist
END
Genom att anropa ovanstående kod en gång med parametrar för databas och tabellnamn, vet du att båda finns.