SQL Server stored procedure that returns a boolean if table exists, c# implementation -
i have created stored procedure takes single argument, name of table, , returns 1 if exists in database, 0 if not. in sql server management studio testing stored procedure works i'd to, i'm having trouble getting value use in c# program.
my options seem executescalar()
, executenonquery()
or executereader()
, none of seem appropriate task, nor can them retrieve stored procedure's result.
i have tried assigning parameter both cmd.parameters.addwithvalue
, cmd.parameters.add
again no avail.
assuming have stored procedure selects either 0 (table not exist) or 1 (table exist)
create procedure dbo.doestableexist (@tablename nvarchar(100)) begin if exists (select * sys.tables name = @tablename) select 1 else select 0 end
then can write c# code value - use .executescalar()
since you're expecting single row, single column:
// set connection , command using (sqlconnection conn = new sqlconnection("your-connection-string-here")) using (sqlcommand cmd = new sqlcommand("dbo.doestableexist", conn)) { // define command stored procedure cmd.commandtype = commandtype.storedprocedure; // add parameter cmd.parameters.add("@tablename", sqldbtype.nvarchar, 100).value = "your-table-name-here"; // open connection, execute command, close connection conn.open(); int result = (int)cmd.executescalar(); conn.close(); }
now result
contain either 0
if table doesn't exist - or 1
, if exist.
Comments
Post a Comment