今天是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;
}