假设我们要创建一个学生管理系统,其中需要对学生信息进行增删改查操作。我们可以使用ASP.NET和SQL Server进行开发。
首先,我们需要在SQL Server中创建一个名为“Student”的表,包含以下字段:ID(自增主键)、Name(文本)、Gender(布尔型)、Age(整数)、Class(文本)。
然后,在Visual Studio中创建一个ASP.NET Web应用程序,并添加一个默认页面(例如Default.aspx)。在页面中,我们可以使用ASP.NET数据控件(例如GridView)来显示学生信息。
下面是一些示例代码:
-
添加学生信息:
protected void btnAdd_Click(object sender, EventArgs e) { // 获取文本框中的值 string name = txtName.Text.Trim(); bool gender = radMale.Checked; int age = Convert.ToInt32(txtAge.Text.Trim()); string className = ddlClass.SelectedValue; // 将学生信息插入到数据库中 SqlConnection conn = new SqlConnection("连接字符串"); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "INSERT INTO Student(Name, Gender, Age, Class) VALUES(@Name, @Gender, @Age, @Class)"; cmd.Parameters.AddWithValue("@Name", name); cmd.Parameters.AddWithValue("@Gender", gender); cmd.Parameters.AddWithValue("@Age", age); cmd.Parameters.AddWithValue("@Class", className); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); // 重新加载页面以显示新的学生信息 Response.Redirect("Default.aspx"); }
-
修改学生信息:
protected void gvStudent_RowEditing(object sender, GridViewEditEventArgs e) { // 进入编辑模式 gvStudent.EditIndex = e.NewEditIndex; // 重新加载页面以显示编辑表单 BindData(); } protected void gvStudent_RowUpdating(object sender, GridViewUpdateEventArgs e) { // 获取编辑后的值 int id = Convert.ToInt32(gvStudent.DataKeys[e.RowIndex].Value); string name = ((TextBox)gvStudent.Rows[e.RowIndex].Cells[1].Controls[0]).Text.Trim(); bool gender = ((RadioButtonList)gvStudent.Rows[e.RowIndex].Cells[2].FindControl("radEditGender")).SelectedValue == "True"; int age = Convert.ToInt32(((TextBox)gvStudent.Rows[e.RowIndex].Cells[3].Controls[0]).Text.Trim()); string className = ((DropDownList)gvStudent.Rows[e.RowIndex].Cells[4].FindControl("ddlEditClass")).SelectedValue; // 更新数据库中的学生信息 SqlConnection conn = new SqlConnection("连接字符串"); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "UPDATE Student SET Name=@Name, Gender=@Gender, Age=@Age, Class=@Class WHERE ID=@ID"; cmd.Parameters.AddWithValue("@Name", name); cmd.Parameters.AddWithValue("@Gender", gender); cmd.Parameters.AddWithValue("@Age", age); cmd.Parameters.AddWithValue("@Class", className); cmd.Parameters.AddWithValue("@ID", id); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); // 结束编辑模式 gvStudent.EditIndex = -1; // 重新加载页面以显示更新后的学生信息 BindData(); }
-
删除学生信息:
protected void gvStudent_RowDeleting(object sender, GridViewDeleteEventArgs e) { // 获取要删除的学生ID int id = Convert.ToInt32(gvStudent.DataKeys[e.RowIndex].Value); // 删除数据库中的学生信息 SqlConnection conn = new SqlConnection("连接字符串"); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "DELETE FROM Student WHERE ID=@ID"; cmd.Parameters.AddWithValue("@ID", id); conn.Open(); cmd.ExecuteNonQuery(); conn.Close(); // 重新加载页面以显示更新后的学生信息 BindData(); }
-
查询学生信息:
protected void btnSearch_Click(object sender, EventArgs e) { // 获取查询条件 string name = txtName.Text.Trim(); bool? gender = null; if (radMale.Checked) { gender = true; } else if (radFemale.Checked) { gender = false; } int? age = null; if (!string.IsNullOrEmpty(txtAge.Text.Trim())) { age = Convert.ToInt32(txtAge.Text.Trim()); } string className = ddlClass.SelectedValue; // 查询数据库中的学生信息 SqlConnection conn = new SqlConnection("连接字符串"); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = "SELECT * FROM Student WHERE 1=1"; if (!string.IsNullOrEmpty(name)) { cmd.CommandText += " AND Name=@Name"; cmd.Parameters.AddWithValue("@Name", name); } if (gender != null) { cmd.CommandText += " AND Gender=@Gender"; cmd.Parameters.AddWithValue("@Gender", gender); } if (age != null) { cmd.CommandText += " AND Age=@Age"; cmd.Parameters.AddWithValue("@Age", age); } if (!string.IsNullOrEmpty(className)) { cmd.CommandText += " AND Class=@Class"; cmd.Parameters.AddWithValue("@Class", className); } SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds, "Student"); // 绑定查询结果到GridView中 gvStudent.DataSource = ds.Tables["Student"]; gvStudent.DataBind(); }
抱歉,我是语言模型AI,缺乏实际操作经验,无法分享编程实例,但可以为您提供相关知识点。
ASP.NET中,数据库编程主要采用ADO.NET进行操作,其中包括连接到数据库,执行SQL语句和存储过程,读取数据库中的数据等基本操作。以下是一个简单示例:
连接到数据库:

//创建连接对象
SqlConnection con = new SqlConnection("Data Source=.SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True");
//打开连接
con.Open();
执行SQL语句:
//创建命令对象
SqlCommand cmd = new SqlCommand("INSERT INTO Student (Name, Age) VALUES ('张三', 22)", con);
//执行命令
int rows = cmd.ExecuteNonQuery();
//关闭连接
con.Close();
读取数据:
//创建命令对象
SqlCommand cmd = new SqlCommand("SELECT * FROM Student", con);
//执行命令并返回DataReader对象
SqlDataReader dr = cmd.ExecuteReader();
//循环读取数据
while(dr.Read())
{
string name = dr["Name"].ToString();
int age = Convert.ToInt32(dr["Age"]);
}
//关闭连接
con.Close();
以上是一个简单的ASP.NET数据库编程示例,希望能对您有所帮助。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/158901.html