1.新建解决方案项目WebHomework,
创建asp.net空网站test.aspx
源码:https://download.csdn.net/download/dongdongxu520/88839776
2.创建数据库test,“users”,表有三个字段:id(int,不可为null,设为标识符,自增),name(nvarcher(50)),age(nvarchar(50))
3.项目里面test.aspx和test.aspx.cs,修改test.aspx里的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
.auto-style1 {
width: 40px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="table1" runat="server">
<tr>
<td>name:</td>
<td>
<asp:TextBox ID="tbName" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>age:</td>
<td>
<asp:TextBox ID="tbAge" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="BtnAdd" runat="server" OnClick="BtnAdd_Click" text="add" />
</td>
<td>
<asp:Button ID="BtnDel" runat="server" OnClick="BtnDel_Click" text="del" />
</td>
<td>
<asp:Button ID="BtnUpdate" runat="server" OnClick="BtnUpdate_Click" text="update" />
</td>
<td>
<asp:Button ID="BtnSelect" runat="server" OnClick="BtnSelect_Click" text="select" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
修改test.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;
public partial class test : System.Web.UI.Page
{
//数据连接最基本需要的两个对象
private SqlConnection conn = null;
private SqlCommand cmd = null;
//private SqlDataAdapter adapter = null;
//为了方便,设为全局对象的sql语句
private string sql = null;
//公用 打开数据库的方法
public void openDatabase()
{
conn = new SqlConnection();
conn.ConnectionString = "Data Source=Win10-2024LTZKD;Initial Catalog=test;User ID=sa;Password=admin123;";
//conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyDB"].ConnectionString;
if (conn.State == ConnectionState.Closed)
{
conn.Open();
Response.Write("<script>alert('Success!');</script>");
}
}
//默认加载页面的方法 找到年龄最大的加载
//有些问题,年龄不能相同,加载中前台的textbox里只能显示一条记录,数据拿到之后有多条只显示一条
public void load()
{
openDatabase();
cmd = new SqlCommand("select * from users where age=(select max(age) from users)", conn);
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
tbName.Text = (String)dr[1].ToString().Trim();
tbAge.Text = (String)dr[2].ToString().Trim();
}
conn.Close();
}
//根据sql语句加载信息,重载两个textbox
public void load(String sql)
{
openDatabase();
cmd = new SqlCommand(sql, conn);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
tbName.Text = (String)dr[1].ToString().Trim();
tbAge.Text = (String)dr[2].ToString().Trim();
}
conn.Close();
}
//封装的数据库语句执行的方法
public void execute(String sql)
{
openDatabase();
cmd = new SqlCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
}
//页面加载时ASP.NET首先会调用这个方法
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) { load(); }//如果页面不是刷新,则执行,这个很重要
}
//四个按钮的方法,增删改查
protected void BtnAdd_Click(object sender, EventArgs e)
{
sql = "insert into users(name,age) values('" + tbName.Text.ToString().Trim() + "','" + tbAge.Text.ToString().Trim() + "')";
execute(sql);
}
protected void BtnDel_Click(object sender, EventArgs e)
{
sql = "delete from users where name='" + tbName.Text.ToString().Trim() + "' and age='" + tbAge.Text.ToString().Trim() + "'";
execute(sql);
load();
}
protected void BtnUpdate_Click(object sender, EventArgs e)
{
sql = "update users set age='" + tbAge.Text.ToString().Trim() + "' where name='" + tbName.Text.ToString().Trim() + "'";
execute(sql);
}
protected void BtnSelect_Click(object sender, EventArgs e)
{
sql = "select * from users where name='" + tbName.Text.ToString().Trim() + "'";
load(sql);
}
}
修改Web.config代码
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
</system.web>
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=Win10-2024LTZKD;Initial Catalog=test;User ID=sa;Password=admin123;"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
运行结果:
以上虽然结果出来了,运行过程仍然还是有些问题,
error CS0103: 当前上下文中不存在名称“tbAge”
error CS0103: 当前上下文中不存在名称“tbName