商丘阿里云代理商:asp.net公共连接数据库类

以下是一个 ASP.NET 的公共连接数据库类的样例:

using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

public class DBHelper
{
    // 数据库连接字符串
    private static string connectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ToString();

    public static SqlConnection GetSqlConnection()
    {
        SqlConnection conn = new SqlConnection(connectionString);
        return conn;
    }

    public static DataTable ExecuteQuery(string sql)
    {
        DataTable dt = new DataTable();
        using (SqlConnection conn = GetSqlConnection())
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataAdapter adapter = new SqlDataAdapter(cmd);
            adapter.Fill(dt);
        }
        return dt;
    }

    public static int ExecuteNonQuery(string sql)
    {
        int count = 0;
        using (SqlConnection conn = GetSqlConnection())
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            count = cmd.ExecuteNonQuery();
        }
        return count;
    }

    public static object ExecuteScalar(string sql)
    {
        object result = null;
        using (SqlConnection conn = GetSqlConnection())
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            result = cmd.ExecuteScalar();
        }
        return result;
    }
}

在这个样例中,我们定义了一个 DBHelper 类,用于处理所有与数据库的交互。该类中包含了三个静态方法:

  • GetSqlConnection() 方法返回了一个 SqlConnection 对象,用于连接到数据库。
  • ExecuteQuery() 方法用于执行查询操作,返回一个 DataTable 对象。
  • ExecuteNonQuery() 方法用于执行更新、插入、删除等操作,返回受影响的行数。
  • ExecuteScalar() 方法用于执行查询单个值的操作,返回结果的 object 值。

以上这些方法都是需要提供一个 SQL 的字符串作为参数。在实际使用中,还需要根据需要加上参数化查询和异常处理等操作。

在ASP.NET中连接数据库有多种方法,其中最常见的是使用ADO.NET来访问数据库。

以下是一个使用ADO.NET连接数据库的公共类,可以在ASP.NET项目中进行复用:

商丘阿里云代理商:asp.net公共连接数据库类
using System.Data;
using System.Data.SqlClient;

public class DBHelper
{
    private static string ConnString = "Data Source=localhost;Initial Catalog=databaseName;Integrated Security=True";

    public static DataTable ExecuteDataTable(string sql)
    {
        DataTable dt = new DataTable();
        using (SqlConnection conn = new SqlConnection(ConnString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            SqlDataReader reader = cmd.ExecuteReader();
            dt.Load(reader);
        }
        return dt;
    }

    public static int ExecuteNonQuery(string sql)
    {
        int result = 0;
        using (SqlConnection conn = new SqlConnection(ConnString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            result = cmd.ExecuteNonQuery();
        }
        return result;
    }

    public static object ExecuteScalar(string sql)
    {
        object result;
        using (SqlConnection conn = new SqlConnection(ConnString))
        {
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            result = cmd.ExecuteScalar();
        }
        return result;
    }
}

使用方法:

DataTable dt = DBHelper.ExecuteDataTable("SELECT * FROM users");
int result = DBHelper.ExecuteNonQuery("INSERT INTO users(name, age) VALUES('test', 20)");
object scalarResult = DBHelper.ExecuteScalar("SELECT COUNT(*) FROM users");

需要注意的是,这段代码使用了硬编码的方式将连接字符串写在了代码中,实际使用时应该将其提取到配置文件中,并通过ConfigurationManager等方式进行读取。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/157063.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月4日 21:50
下一篇 2024年3月4日 22:13

相关推荐

  • 阿里云视频面试

    阿里云的视频面试通常是一个在线视频面试的过程,面试官和面试者通过视频会议进行面试交流。在面试过程中,面试官会根据岗位要求和面试者的简历提问相关的技术问题、项目经验、个人能力等方面的内容。面试者需要准备充分,熟悉自己的简历和个人技能,能够清晰地表达自己的观点和回答问题。同时,面试者也需要展示自己的思考能力、解决问题的能力和团队合作精神。面试结束后,如果通过面试…

    2023年10月21日
    72700
  • 阿里数据仓库的分层

    阿里数据仓库的分层一般可以分为三层,分别是原始数据层、中间层和应用层。 原始数据层:原始数据层是指将数据从不同的数据源中提取出来,包括结构化数据、半结构化数据和非结构化数据等。在阿里数据仓库中,原始数据层一般会使用数据采集工具进行数据的抽取和加载,并将数据存储在大数据存储系统(如HDFS)中。 中间层:中间层是指将原始数据进行处理和加工,以满足不同业务需求的…

    2023年9月16日
    71500
  • 榆林阿里云代理商:acm字符

    ACM字符代指的是阿里云配置管理(Alibaba Cloud Configuration Management)中用于实现配置中心的字符编码规范。 在ACM中,配置中心存储的配置信息是以字符形式进行存储和传递的。为了保证配置信息的正确性和安全性,ACM字符规范要求配置中心支持的字符集合必须是Unicode字符集,并且配置信息传递过程中要进行字符编码和解码的处…

    2024年1月18日
    65900
  • 东海阿里云企业邮箱代理商:阿里云服务器登录入口

    东海阿里云企业邮箱代理商:阿里云服务器登录入口 简介 阿里云企业邮箱是阿里云推出的一款专为企业用户打造的邮件服务产品,旨在提供安全稳定、高效便捷的电子邮件解决方案。 优势 1. 安全可靠:阿里云企业邮箱采用高级加密技术,保障企业邮件数据的安全性。 2. 稳定性强:借助阿里云服务器的强大支持,企业邮箱具有极高的稳定性,确保邮件服务不会中断。 3. 易于管理:阿…

    2024年2月22日
    67500
  • 潍坊阿里云代理商:android asyncqueryhandler 数据库

    潍坊阿里云代理商告诉你关于android asyncqueryhandler 数据库的相关信息: Android AsyncQueryHandler是Android SDK提供的一个用于异步查询数据库的类,可以帮助开发者在应用中进行数据库操作而不阻塞UI线程。通过AsyncQueryHandler,开发者可以在后台线程中进行数据库查询、插入、更新、删除等操作…

    2024年3月2日
    68800

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/