您的位置:首页 > 数据库

C#三层ATM-3.编写数据库访问类

2016-06-06 13:35 357 查看
1.在DAL项目里新建类文件,命名为DbHelperSQL,本类放数据库访问的常用方法。

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





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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: