今天是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约束
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
- Insert, update, delete的方法
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);
}
}
- select的方法
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(),因为会回收连接资源
- DataGridView绑定数据方法
dataGridView1.DataSource = table;
- 下拉框改变事件
SelectedIndexChanged
- 获取DataGridView选中行中第一行第一个元素
this.dataGridView1.SelectedRows[0].Cell[0].Value;
- 删除DataGridView选中的第一行
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].index);
- 设置DataGridView只能选中行(而非单元格)
dataGridView1.SelectionMode=DataGridViewSelcitonMode.FullRowSelect;
- 设置DataGridView只读
dataGridView1.ReadOnly = true;
- YesNo确认框
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;
}
原标题:华工复试学习笔记
关键词: