华工复试学习笔记今天是3月10号,离华工复试还有5天.复试机试考的是数据库,用VS和sql server做给的题.难度不大.下面是我准备机试做的笔记.
一、数据库设计
建索引createindex<index-name>on<relation-name>(<attribute-list>)
例:createindexdept-indexoninstructor(dept_name)
创建视图createviewvas<query-exPRession>
例:createviewfaultyas
selectID,name,dept_name
frominstructor
默认值default0
check约束check(P)//P为条件
例check(size<10)//仅允许size小于10的记录插入
级联删除和级联更新foreignkey(dept_name)referencesdepartment
ondeletecascade
onupdatecascade
模糊检索SELECT字段FROM表WHERE某字段Like条件
条件:
①%:表示任意0个或多个字符。
②_:表示任意单个字符。
③[]:表示括号内所列字符中的一个(类似正则表达式)。
④[^]:表示不在括号所列之内的单个字符。
⑤查询内容包含通配符时:用[]把特殊字符括起来.
二、数据库编程
连接数据库语句Server=<ip>;Database=<数据库名>;IntegratedSecurity=false;Uid=<登录名>;Pwd=<密码>
Server=(local);Database=<数据库名>;IntegratedSecurity=sspi
Insert,update,delete的方法
publicstaticvoidExecuteNoQuery(stringsql)
{
try
{
SqlCommandcmd=newSqlCommad(sql,SqlUtil.conn);
if(cmd.ExcuteNoQuery()>0)
{
MessageBox.Show(“操作成功”);
}
else
{
MessageBox.Show(“操作失败”);
}
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
}
}
select的方法publicstaticDataTableExecuteQuery(stringsql)
{
try
{
DataTabletable=newDataTable();
DataAdapteradapter=newDataAdapter(sql,SqlUtil.conn);
adapter.Fill(table);
returntable;
}
catch(Exceptionex)
{
MessageBox.Show(ex.Message);
returnnull;
}
}
连接数据库方法try
{
SqlConnectionconn=newSqlConnection(SqlUtil.connstr);
conn.Open();
}
catch(Exceptionex)
{
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确认框DialogResultdr=MessageBox.Show(this,”确定删除?”,”提示”,MessageBoxButton.YesNO);
if(dr==DialogResult.Yes)//点击确定之后的代码
窗体重新被激活事件(用于关闭”添加”和”修改”窗口之后刷新表)Activated
刷新表窗口代码privatevoidrefresh()
{
stringsql=”select*from<表名>”;
DataTabletable=SqlUtil.ExecuteQuery(sql);
dataGridView1.DataSource=table;
}