VS(ASP.NET)和SQL Server 连接成功实现增删改查功能

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

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一个简单的 C# SQL Server 访问增删改查公共类的示例: ```csharp using System; using System.Data; using System.Data.SqlClient; public static class SqlHelper { private static string connectionString = "Data Source=yourServerName;Initial Catalog=yourDatabaseName;Integrated Security=True"; public static DataTable ExecuteDataTable(string sql) { DataTable dt = new DataTable(); using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(sql, conn)) { SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(dt); } } return dt; } public static int ExecuteNonQuery(string sql) { int affectedRows = 0; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(sql, conn)) { affectedRows = cmd.ExecuteNonQuery(); } } return affectedRows; } public static object ExecuteScalar(string sql) { object result = null; using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); using (SqlCommand cmd = new SqlCommand(sql, conn)) { result = cmd.ExecuteScalar(); } } return result; } } ``` 这个公共类包含了三个静态方法: 1. `ExecuteDataTable`:执行查询语句并返回一个 DataTable 对象。 2. `ExecuteNonQuery`:执行增删改语句并返回受影响的行数。 3. `ExecuteScalar`:执行查询语句并返回单个结果。 你可以使用这些方法来执行 SQL Server 数据库的基本操作。例如,使用 `ExecuteNonQuery` 方法来执行一个插入语句: ```csharp string insertSql = "INSERT INTO MyTable (Name, Age) VALUES ('John', 30)"; int affectedRows = SqlHelper.ExecuteNonQuery(insertSql); ``` 使用 `ExecuteDataTable` 方法来执行一个查询语句并返回一个 DataTable 对象: ```csharp string selectSql = "SELECT * FROM MyTable"; DataTable dt = SqlHelper.ExecuteDataTable(selectSql); foreach (DataRow row in dt.Rows) { Console.WriteLine("Name: {0}, Age: {1}", row["Name"], row["Age"]); } ``` 使用 `ExecuteScalar` 方法来执行一个查询语句并返回单个结果: ```csharp string countSql = "SELECT COUNT(*) FROM MyTable"; int count = (int)SqlHelper.ExecuteScalar(countSql); Console.WriteLine("Total rows: {0}", count); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongdongxu520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值