c# - checking database rights on certain user -
i given connection database owned company. user gave me has restricted privilidges, meaining can make select queries on views.
i got little problem here since other company not being cooperative. change users password without telling me, or change names of views. since there more 40 views want make automatic system checks if alright.
my question kind of checks can make on views , database? trying connection open , making select * queries each view enough?
btw database sqlserver 2008 r2 , use c#.
here function checking required views exists:
bool isallviewsexists() { string databasename= "your_db_name"; string[] viewsindb = getallviewsnamesindb(); (int = 0; < viewsindb.length; ++i) { using (sqlcommand cmd = createsqlcommand(string.format("select id sysobjects id = object_id('{0}.dbo.{1}') , (type = 'v')", databasename,viewsindb [i]))) { using (datatable objects = executedatatablequery(cmd)) { if (objects.rows.count == 0) { return false; } } } } return true; }
the functions called isallviewsexists
: (pleas note assume have data member of connection called _conn
)
sqlcommand createsqlcommand(string sql, sqlparametercollection parameters) { sqlcommand cmd = _conn.createcommand(); cmd.connection = _conn; cmd.commandtext = sql; if (parameters != null) foreach (sqlparameter param in parameters) cmd.parameters.add(param); return cmd; } datatable executedatatablequery(sqlcommand cmd) { datatable table = null; using (sqldataadapter adapter = new sqldataadapter(cmd)) { table = new datatable(); try { adapter.fill(table); } catch (sqlexception sqlex) { rethrow; } } return table; }
Comments
Post a Comment