今天是3月10号,离华工复试还有5天.复试机试考的是数据库,用VS和sql server做给的题.难度不大.下面是我准备机试做的笔记.
一、数据库设计
create index <index-name> on <relation-name>(<attribute-list>)
例:create index dept-index on instructor(dept_name)
create view v as <query-expression>
例:create view faulty as
select ID,name,dept_name
from instructor
default 0
check (P) //P为条件
例 check (size<10) //仅允许size小于10的记录插入
foreign key (dept_name) references department
on delete cascade
on update cascade
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
条件:
① % :表示任意0个或多个字符。
② _ : 表示任意单个字符。
③ [ ] :表示括号内所列字符中的一个(类似正则表达式)。
④ [^ ] :表示不在括号所列之内的单个字符。
⑤ 查询内容包含通配符时 :用[]把特殊字符括起来.
二、数据库编程
Server=<IP>;Database=<数据库名>;Integrated Security=false;Uid=<登录名>;Pwd=<密码>
Server=(local);Database=<数据库名>;Integrated Security=sspi
public static void ExecuteNoQuery(string sql)
{
try
{
SqlCommand cmd=new SqlCommad(sql,SqlUtil.conn);
if(cmd.ExcuteNoQuery()>0)
{
MessageBox.Show(“操作成功”);
}
else
{
MessageBox.Show(“操作失败”);
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static DataTable ExecuteQuery(string sql)
{
try
{
DataTable table = new DataTable();
DataAdapter adapter = new DataAdapter(sql,SqlUtil.conn);
adapter.Fill(table);
return table;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
return null;
}
}
try
{
SqlConnection conn = new SqlConnection(SqlUtil.connstr);
conn.Open();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
Applitcation.Exit();
return;
}
SqlUtil.conn.Close(); //不用Dispose(),因为会回收连接资源
dataGridView1.DataSource = table;
SelectedIndexChanged
this.dataGridView1.SelectedRows[0].Cell[0].Value;
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].index);
dataGridView1.SelectionMode=DataGridViewSelcitonMode.FullRowSelect;
dataGridView1.ReadOnly = true;
DialogResult dr = MessageBox.Show(this,”确定删除?”,”提示”,MessageBoxButton.YesNO);
if(dr==DialogResult.Yes) //点击确定之后的代码
Activated
private void refresh()
{
string sql=”select * from <表名>”;
DataTable table=SqlUtil.ExecuteQuery(sql);
dataGridView1.DataSource = table;
}