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