实验报告
学院(系)名称: 计算机与通信工程学院
姓名 班级
Touchkiss
2 班
课程名称
学号 实验项目
20125577 专业 计算机科学与技术
实验四 数据库设计
.NET 程序设计
课程代码
0667066
实验时间
实验地点 7#215
批阅建议
成绩
教师签字:
一、实验目的
(1) 掌握数据库接见技术; (2) 掌握数据办理方法; (3) 掌握数据库数据显示;二、实验环境
PC 机, Windows XP(2000)操作系统及以上;
Visual Studio 2010(或 2008)。
三、实验要求
(1) 创办学生 -课程 -选课数据库;
第1页共14页
1 / 14
天津理工大学C实验4数据库设计
(2) 实现对学生表的显示和盘问;
第2页共14页
2 / 14
天津理工大学C实验4数据库设计
(3) 实现对学生表数据的编写(插入、删除、更正) ;
第3页共14页
3 / 14
天津理工大学C实验4数据库设计
(4) 实现某门课程成绩的录入。
第4页共14页
4 / 14
天津理工大学C实验4数据库设计
第5页共14页
5 / 14
天津理工大学C实验4数据库设计
第6页共14页
6 / 14
天津理工大学C实验4数据库设计
代码:
using System;
using System.Collections.Generic;
using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text;
using System.Threading.Tasks;
第7页共14页
7 / 14
天津理工大学C实验4数据库设计
using System.Windows.Forms; //using Cslab4.SqlHelper; using System.Data.SqlClient; namespace Cslab4 {
public partial class Form1 : Form {
int flag = 1,flag1=1,flag2=1; public Form1() {
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e) {
LvCourse.Items.Clear();
DataTable CourerInfo = SqlHelper.ExecuteDataTable(\"select
Cno\");
LvCourse.BeginUpdate();
for (int i = 0; i < CourerInfo.Rows.Count; i++) {
DataRow Course = CourerInfo.Rows[i]; ListViewItem Cou = new ListViewItem(); Cou.Text = Course[\"Cno\"].ToString();
Cou.SubItems.Add(Course[\"Cname\"].ToString()); Cou.SubItems.Add(Course[\"Cpno\"].ToString()); Cou.SubItems.Add(Course[\"Ccredit\"].ToString()); LvCourse.Items.Add(Cou);
}
LvCourse.EndUpdate();
}
private void button1_Click(object sender, EventArgs e) {
LvStudent.Items.Clear();
DataTable StuInfo = SqlHelper.ExecuteDataTable(\"select * from dbo.Student order by Sno\"); LvStudent.BeginUpdate();
for (int i = 0; i < StuInfo.Rows.Count; i++) {
DataRow Student = StuInfo.Rows[i]; ListViewItem Stu = new ListViewItem(); Stu.Text = Student[\"Sno\"].ToString();
Stu.SubItems.Add(Student[\"Sname\"].ToString()); Stu.SubItems.Add(Student[\"Ssex\"].ToString());
* from dbo.Course order by
第8页共14页
8 / 14
天津理工大学C实验4数据库设计
Stu.SubItems.Add(Student[\"Sage\"].ToString()); Stu.SubItems.Add(Student[\"Sdept\"].ToString()); LvStudent.Items.Add(Stu);
}
LvStudent.EndUpdate();
}
private void LvStudent_SelectedIndexChanged(object sender, EventArgs e) {
TBSno.Enabled = false; int i; flag = 2;
if (LvStudent.SelectedItems.Count > 0) {
i = Convert.ToInt32(LvStudent.SelectedItems[0].Index.ToString()); TBSno.Text = LvStudent.Items[i].SubItems[0].Text; TBSname.Text = LvStudent.Items[i].SubItems[1].Text; TBSsex.Text = LvStudent.Items[i].SubItems[2].Text; TBSage.Text = LvStudent.Items[i].SubItems[3].Text; TBSdept.Text = LvStudent.Items[i].SubItems[4].Text;
}
TBSno.Enabled = false; btnChange.Enabled = true; btnDelete.Enabled = true;
}
private void btnChange_Click(object sender, EventArgs e) {
SqlHelper.ExecuteNonQuery(\"update dbo.Student set
Sname=@Sname,Ssex=@Ssex,Sage=@Sage,Sdept=@Sdept where Sno =\" + TBSno.Text, new SqlParameter(\"@Sname\SqlParameter(\"@Sage\
btnRefresh.PerformClick();
}
private void btnAdd_Click(object sender, EventArgs e) {
if (flag == 2) {
TBSno.Clear(); TBSsex.Clear(); TBSname.Clear(); TBSdept.Clear(); TBSage.Clear(); flag = 1;
第9页共14页
9 / 14
天津理工大学C实验4数据库设计
TBSno.Enabled = true; btnDelete.Enabled = false; btnChange.Enabled = false;
} else {
if (TBSno.Text.Trim() == \"\") {
MessageBox.Show(\" 请输入学号! \"); TBSno.Focus();
}
else if (TBSname.Text.Trim() == \"\") {
MessageBox.Show(\" 请输入姓名! \"); TBSname.Focus();
}
else if (TBSsex.Text.Trim() == \"\") {
MessageBox.Show(\" 请输入性别! \"); TBSsex.Focus();
}
else if (TBSage.Text.Trim() == \"\") {
MessageBox.Show(\" 请输入年龄! \"); TBSage.Focus();
}
else if (TBSdept.Text.Trim() == \"\") {
MessageBox.Show(\" 请输入学生所在系别! \"); TBSdept.Focus();
} else {
SqlHelper.ExecuteNonQuery(\"insert
(@Sno,@Sname,@Ssex,@Sage,@Sdept)\
new
into
values
SqlParameter(\"@Sno\TBSno.Text.Trim()), new
SqlParameter(\"@Sname\TBSname.Text.Trim()), new SqlParameter(\"@Ssex\TBSsex.Text.Trim()), new
SqlParameter(\"@Sage\
btnRefresh.PerformClick();
}
}
}
private void btnDelete_Click(object sender, EventArgs e)
第10页共14页
10 / 14
天津理工大学C实验4数据库设计
{
DialogResult res = MessageBox.Show(\" 确定要删除学号为 \" + TBSno.Text.Trim() + \" 的学生? \
\" 提示 \
if (res == DialogResult.Yes) {
SqlHelper.ExecuteNonQuery(\"delete from dbo.Student where Sno = @Sno\new
SqlParameter(\"@Sno\
btnRefresh.PerformClick(); TBSno.Clear(); TBSsex.Clear(); TBSname.Clear(); TBSdept.Clear(); TBSage.Clear(); flag = 1;
TBSno.Enabled = true; btnDelete.Enabled = false; btnChange.Enabled = false;
} else { }
}
private void btnRefreshGrade_Click(object sender, EventArgs e) {
LvScore.Items.Clear();
DataTable GradeInfo = SqlHelper.ExecuteDataTable(\"select * from dbo.SC order by Sno\"); LvScore.BeginUpdate();
for (int i = 0; i < GradeInfo.Rows.Count; i++) {
DataRow Grade = GradeInfo.Rows[i]; ListViewItem Gra = new ListViewItem(); Gra.Text = Grade[\"Sno\"].ToString();
Gra.SubItems.Add(Grade[\"Cno\"].ToString()); Gra.SubItems.Add(Grade[\"Grade\"].ToString()); LvScore.Items.Add(Gra);
}
LvScore.EndUpdate();
}
private void btnAddGrade_Click(object sender, EventArgs e)// 写入数据库 {
if(TBSno2.Text.Trim()==\"\") {
MessageBox.Show(\" 请输入学号! \");
第11页共14页
11 / 14
天津理工大学C实验4数据库设计
TBSno2.Focus();
}
else if(TBCno.Text.Trim()==\"\") {
MessageBox.Show(\" 请输入课程号! \"); TBCno.Focus();
}
else if(TBGrade.Text.Trim()==\"\") {
MessageBox.Show(\" 请输入成绩! \"); TBGrade.Focus();
} else {
SqlHelper.ExecuteNonQuery(\"insert into dbo.SC values (@Sno,@Cno,@Grade)\new
SqlParameter(\"@Sno\
TBSno2.Text.Trim()),
new
SqlParameter(\"@Cno\
TBCno.Text.Trim()),
new
SqlParameter(\"@Grade\
btnRefreshGrade.PerformClick(); flag2 = 1; flag1 = 1;
}
}
}
}
using System.Configuration; using System.Data;
using System.Data.SqlClient; using System;
using System.Collections.Generic; using System.Linq; using System.Text; namespace Cslab4 {
public static class SqlHelper {
public static readonly string connstr = \"Data Source=vmb72;Initial Catalog=SCHOOL;Integrated
Security=True;Connect Timeout=15\";
public static SqlConnection OpenConnection() {
SqlConnection conn = new SqlConnection(connstr);
第12页共14页
12 / 14
天津理工大学C实验4数据库设计
conn.Open(); return conn;
}
public static int ExecuteNonQuery(string cmdText,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr)) {
conn.Open();
return ExecuteNonQuery(conn, cmdText, parameters);
}
}
public static object ExecuteScalar(string cmdText,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr)) {
conn.Open();
return ExecuteScalar(conn, cmdText, parameters);
}
}
public static DataTable ExecuteDataTable(string cmdText,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr)) {
conn.Open();
return ExecuteDataTable(conn, cmdText, parameters);
}
}
public static int ExecuteNonQuery(SqlConnection conn,string cmdText,
params SqlParameter[] parameters) {
using (SqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters); return cmd.ExecuteNonQuery();
}
}
第13页共14页
13 / 14
天津理工大学C实验4数据库设计
public static object ExecuteScalar(SqlConnection conn, string cmdText,
params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters); return cmd.ExecuteScalar();
}
}
public static DataTable ExecuteDataTable(SqlConnection conn, string cmdText,
params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand()) {
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) {
DataTable dt = new DataTable(); adapter.Fill(dt); return dt;
}
}
}
public static object ToDBValue(this object value) {
return value == null ? DBNull.Value : value;
}
public static object FromDBV alue(this object dbValue) {
return dbValue == DBNull.Value ? null : dbValue;
}
}
}
第14页共14页
14 / 14
因篇幅问题不能全部显示,请点此查看更多更全内容