Я создаю приложение winforms, которое использует Integrated Security на SQL Server. В настоящее время я делаю следующее, чтобы убедиться, что пользователь информирован о том, что у него нет доступа к определенной схеме (у всех есть разрешения выбора, но у некоторых есть обновление и вставка).Проверьте, есть ли у пользователя разрешения на обновление/выбор/вставка перед выполнением
try
{
string sqlx = "select * from test.t";
SqlCommand comm = new SqlCommand(sqlx, conn);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
return;
}
catch (SqlException ex)
{
if (ex.Number == 229 | ex.Number == 230)
System.Windows.Forms.MessageBox.Show("You do not have permission to update this table. Please contact your system admin for permission.");
else
System.Windows.Forms.MessageBox.Show(ex.Message);
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
Вместо того, чтобы дать пользователям возможность даже нажать кнопку удаления, например, есть способ «prescreen» а пользователям привилегии из C#?
Оба ответа были именно тем, что я искал. Не совсем решение C#, но все равно одно, которое должно хорошо работать. Спасибо! – brhardwick