zoukankan      html  css  js  c++  java
  • C#三层ATM-3.编写数据库访问类

    1.在DAL项目里新建类文件,命名为DbHelperSQL,本类放数据库访问的常用方法。

    2.为DAL项目添加System.Configuration引用。对着项目下的引用点右键--选添加引用。打开下图。。选择。

    wpsAB41.tmp

    3.添加 引入命名空间

    using System.Configuration;

    using System.Data;

    using System.Data.SqlClient;

    为类添加静态字段---连接字符串,从winf的配置文件app.config里取

    public static string connectionString = ConfigurationManager.ConnectionStrings["sqlservercon"].ConnectionString;  

    4.添加执行非查询语句,返回影响的行数的方法

    /// <summary>

    /// 执行SQL语句,返回影响的记录数

    /// </summary>

    /// <param name="SQLString">SQL语句</param>

    /// <returns>影响的记录数</returns>

    public static int ExecuteSql(string SQLString)

            {

    using (SqlConnection connection = new SqlConnection(connectionString))

                {

    using (SqlCommand cmd = new SqlCommand(SQLString, connection))

                    {

    try

                        {

                            connection.Open();

    int rows = cmd.ExecuteNonQuery();

    return rows;

                        }

    catch (System.Data.SqlClient.SqlException e)

                        {

                            connection.Close();

    throw e;

                        }

                    }

                }

            }

    5.添加执行一条计算查询结果语句,返回查询结果(object)。地方法

    /// <summary>

    /// 执行一条计算查询结果语句,返回查询结果(object)。

    /// </summary>

    /// <param name="SQLString">计算查询结果语句</param>

    /// <returns>查询结果(object)</returns>

    public static object GetSingle(string SQLString)

            {

    using (SqlConnection connection = new SqlConnection(connectionString))

                {

    using (SqlCommand cmd = new SqlCommand(SQLString, connection))

                    {

    try

                        {

                            connection.Open();

    object obj = cmd.ExecuteScalar();

    if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))

                            {

    return null;

                            }

    else

                            {

    return obj;

                            }

                        }

    catch (System.Data.SqlClient.SqlException e)

                        {

                            connection.Close();

    throw e;

                        }

                    }

                }

            }

    6.添加执行查询 返回dataset地方法

    /// <summary>

    /// 执行查询语句,返回DataSet

    /// </summary>

    /// <param name="SQLString">查询语句</param>

    /// <returns>DataSet</returns>

    public static DataSet Query(string SQLString)

            {

    using (SqlConnection connection = new SqlConnection(connectionString))

                {

    DataSet ds = new DataSet();

    try

                    {

                        connection.Open();

    SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);

                        command.Fill(ds, "ds");

                    }

    catch (System.Data.SqlClient.SqlException ex)

                    {

    throw new Exception(ex.Message);

                    }

    return ds;

                }

            }

    7.执行 某个数据表的某个字段的最大值

    public static int GetMaxID(string FieldName, string TableName)

            {

    string strsql = "select max(" + FieldName + ")+1 from " + TableName;

    object obj = GetSingle(strsql);

    if (obj == null)

                {

    return 1;

                }

    else

                {

    return int.Parse(obj.ToString());

                }

            }

    8.执行 判断是否存在

    public static bool Exists(string strSql)

            {

    object obj = GetSingle(strSql);

    int cmdresult;

    if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))

                {

                    cmdresult = 0;

                }

    else

                {

                    cmdresult = int.Parse(obj.ToString()); //也可能=0

                }

    if (cmdresult == 0)

                {

    return false;

                }

    else

                {

    return true;

                }

            }

  • 相关阅读:
    P1312 [NOIP2011 提高组] Mayan 游戏
    Codeforces Round 736
    CF487E Tourists
    荏苒
    数论
    [NOI2009] 二叉查找树 题解
    元素
    线性基
    杂录
    SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
  • 原文地址:https://www.cnblogs.com/lingr/p/5563543.html
Copyright © 2011-2022 走看看