实验 2 ASP.NET 的数据库操作

<connectionStrings>
    <add name="myConn" connectionString="Data Source=(你自己的路径)Database.mdf;Initial Catalog=mydb;Integrated Security=true" providerName="System.Data.SqlClient"/>
  </connectionStrings>

结构目录:
在这里插入图片描述
page1.aspx

<body>
    <form id="form1" runat="server">
        <p>
            录入教师信息:</p>
        <p>
            编号:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                  ControlToValidate="TextBox1" ErrorMessage ="用户名不能为空" ForeColor ="Red">
           </asp:RequiredFieldValidator>
        </p>
        <p>
            姓名:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                  ControlToValidate="TextBox2" ErrorMessage ="姓名不能为空" ForeColor ="Red">
           </asp:RequiredFieldValidator>
        </p>
        <p>
            生日:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="生日格式不一致" ControlToValidate="TextBox3" ForeColor="Red" ValidationExpression="\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}"></asp:RegularExpressionValidator>
        <p>
            教龄:<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
             <asp:RangeValidator ID="RangeValidator2" runat="server" ErrorMessage="教龄不在范围内" ControlToValidate="TextBox4" MaximumValue="50" MinimumValue="0" ForeColor="Red" Type="Integer"></asp:RangeValidator>
        </p>
        <p>
            系属:<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
            <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="系属错误" ControlToValidate="TextBox5" MaximumValue="1000" MinimumValue="0" ForeColor="Red" Type="Integer"></asp:RangeValidator>
        </p>
        <p>
            照片:<asp:FileUpload ID="FileUpload1" OnClick="ButtonUpLoad_Click" runat="server" />
            <asp:Button ID="Button3" runat="server" OnClick="ButtonUpLoad_Click" Text="上传" />
        </p>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提交" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="查询" />
    </form>
</body>

page1.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data;
using System.IO;
using System.Web.Configuration;

public partial class Page1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        string strCnn = System.Configuration.ConfigurationManager.ConnectionStrings["myConn"].ConnectionString;
        using (SqlConnection cnn = new SqlConnection(strCnn))
        {
            SqlDataAdapter daTea = new SqlDataAdapter("select * from Teachers", cnn);
            SqlCommandBuilder sbTea = new SqlCommandBuilder(daTea);
            DataTable dtTeacher = new DataTable();
            daTea.FillSchema(dtTeacher, SchemaType.Mapped);
            DataRow dr = dtTeacher.NewRow();
            dr[0] = TextBox1.Text.Trim();
            dr[1] = TextBox2.Text.Trim();
            dr[2] = TextBox3.Text.Trim();
            dr[3] = TextBox4.Text.Trim();
            dr[4] = TextBox5.Text.Trim();
            dr[5] = FileUpload1.PostedFile.FileName;
            dtTeacher.Rows.Add(dr);
            daTea.Update(dtTeacher);
            Response.Write("添加成功");
        }
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Redirect("search.aspx");
    }

    protected void ButtonUpLoad_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            string savePath = Server.MapPath("~/resource/");//指定上传文件在服务器上的保存路径
            //检查服务器上是否存在这个物理路径,如果不存在则创建
            if (!System.IO.Directory.Exists(savePath))
            {
                System.IO.Directory.CreateDirectory(savePath);
            }
            savePath = savePath + "\\" + FileUpload1.FileName;
            FileUpload1.SaveAs(savePath);
        }
        else
        {
            Response.Write("你还没有选择上传文件!");
        }
    }

}

在这里插入图片描述
search.aspx

<body>
    <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="返回修改界面" />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="进入删除界面" />
        </div>
    </form>
</body>

search.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data.Sql;
using System.Data;
using System.IO;
using System.Web.Configuration;

public partial class search : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string strCnn = System.Configuration.ConfigurationManager.ConnectionStrings["myConn"].ConnectionString;
        SqlConnection cnn = new SqlConnection(strCnn);
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = cnn;
        cmd.CommandText= "SELECT * FROM Teachers";
        SqlDataReader stuReader = null;
        try
        {
            if (cnn.State == ConnectionState.Closed)
            {
                cnn.Open();
                stuReader = cmd.ExecuteReader();
                Response.Write("<table border='1'><tr align='center'>");
                for(int i = 0; i < stuReader.FieldCount; i++)
                {
                    Response.Write("<td>"+stuReader.GetName(i)+"</td>");
                }
                Response.Write("</tr>");
                while (stuReader.Read())
                {
                    for (int j = 0; j < stuReader.FieldCount; j++)
                    {
                        if (j < stuReader.FieldCount - 1)
                        {
                            Response.Write("<td>" + stuReader.GetValue(j) + "</td>");
                        }
                        else
                        {
                            Response.Write("<td><img src='resource/" + stuReader.GetValue(j) + "'/></td>");
                        }
                    }
                    Response.Write("</tr>");
                }
                Response.Write("</table>");
            }
        }
        catch(Exception ex)
        {
            Response.Write("用户添加失败,错误原因:" + ex.Message);
        }
        finally
        {
            if (stuReader.IsClosed == false)
            {
                stuReader.Close();
            }
            if (cnn.State == ConnectionState.Open)
            {
                cnn.Close();
            }
        }

        cnn.Close();
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("Page1.aspx");
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Redirect("delete.aspx");
    }
}

在这里插入图片描述
delete.aspx

<body>
    <form id="form1" runat="server">
        删除教师信息:<p>
            编号:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="删除" />
        </p>
        <asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="跳转至显示数据" />
        <p>
            修改系名:</p>
        <p>
            系编号:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        </p>
        <p>
            系名:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
            <asp:Button ID="Button3" runat="server" OnClick="Button3_Click" Text="更改" />
        </p>
    </form>
</body>

delete.aspx.cs

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class delete : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        string strCnn = System.Configuration.ConfigurationManager.ConnectionStrings["myConn"].ConnectionString;
        SqlConnection cnn = new SqlConnection(strCnn);
        cnn.Open();
        string sql_find = "select * from Teachers where TeacherID=@TID";
        using (SqlCommand cmd1 = new SqlCommand(sql_find, cnn))
        {
            SqlParameter parameter = new SqlParameter("@TID", TextBox1.Text.Trim());
            cmd1.Parameters.Add(parameter);
            SqlDataReader stuReader = null;
            stuReader = cmd1.ExecuteReader();
            while (stuReader.Read())
            {
                // 返回与指定虚拟路径相对应的物理路径即绝对路径
                string filePath = Server.MapPath("~/resource/"+ stuReader.GetValue(5));
                // 删除该文件
                System.IO.File.Delete(filePath);
            }
        }
        cnn.Close();
        cnn.Open();
        string sql = "delete from Teachers where TeacherID=@TID";
        using (SqlCommand cmd = new SqlCommand(sql, cnn))
        {
            SqlParameter parameter = new SqlParameter("@TID", TextBox1.Text.Trim());
            cmd.Parameters.Add(parameter);
            cmd.ExecuteNonQuery();
        }
        cnn.Close();
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Redirect("search.aspx");
    }

    protected void Button3_Click(object sender, EventArgs e)
    {
        string strCnn = System.Configuration.ConfigurationManager.ConnectionStrings["myConn"].ConnectionString;
        SqlConnection cnn = new SqlConnection(strCnn);
        cnn.Open();
        string sql = "select * from Department where DepartmentID='{0}'";
        //填充SQL语句
        sql = string.Format(sql, TextBox2.Text);
        //创建SqlDataAdapter类的对象
        SqlDataAdapter sda = new SqlDataAdapter(sql, cnn);
        //创建DataSet类的对象
        System.Data.DataSet ds = new System.Data.DataSet();
        //使用SQLDataAdapter对象sda将查询结果填充到DataTable对象ds中
        sda.Fill(ds);
        //创建SqlCommandBuilder类的对象
        SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(sda);
        //创建DataRow类的对象
        System.Data.DataRow dr = ds.Tables[0].Rows[0];
        dr["DepName"] = TextBox3.Text;
        //更新数据库
        sda.Update(ds);
        //更新DataSet对象中的数据
        ds.Tables[0].AcceptChanges();
        Response.Write("数据修改成功!");
        cnn.Close();
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值