- 实验要求
1.通过应用界面创建数据库用户,并实现该用户登录;
2.通过sqlsever执行sql,给该用户分配权限,在应用界面用该用户登录数据库后,尝试访问数据中的表,如果有权限,输出表中的数据,如果没有权限访问该表,弹出权限拒绝;
3.通过应用界面,该用户登录数据库后,实现连接查询,修改,删除操作;
4.在该用户下,创建触发器,条件自己设定;
5.将e-r图转换成数据库中的关系模式,并进行相应的优化,消除异常;6.创建视图,将视图查询权限赋予条件1中创建的用户,并在应用程序中展示视图查询结果;
7.界面设计合理,能够展示执行结果。
- 实验内容:
- 用button,textbox和label制作一个窗体
其中有“登录”和“注册”
点击登录时,需要用自己创建的用户,创建用户的代码是:
创建登陆帐户:
create login one with password='dhy201024',
default_database=bigwork
创建数据库用户:
create user one for login one with default_schema=dbo
通过加入数据库角色,赋予数据库用户“ad”权限:
exec sp_addrolemember 'db_owner', 'one'
将select,update,delete权限给创建的用户
Grant insert,update,delete on ooo to one
登录的代码是:
private void button2_Click(object sender, EventArgs e)//登录
{
String username, password;
username = textBox1.Text;
password = textBox2.Text;
if(username.Equals("")||password.Equals(""))
{
MessageBox.Show("用户密码不能为空!");
}
else
{
SqlConnection conn = new SqlConnection()
string connectionStr = @"Data Source=DESKTOP-R2I9TTJ;Initial Catalog=bigwork;Integrated Security=True;User ID=one;Password=dhy201024";
string m = ";password=";
string n = connectionStr + username + m + password;
string k = n;
conn.ConnectionString = k;
try
{
conn.Open();
if(conn.State==ConnectionState.Open)
{
Form3 form3 = new Form3();
form3.Show();
this.Hide();
}
else
{
// MessageBox.Show("登陆失败!");
}
}
catch