asp.net 数据库的连接和datatable类
asp.net 数据库的连接和datatable类
发布时间:2016-12-29 来源:查字典编辑
摘要:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web...

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

/// <summary>

/// SqlConnections 的摘要说明

/// </summary>

namespace System.mySQLConnection

{

public class SqlConnections

{

//当前连接的是第几个。

static int count = 0;

//最大连接量

static int maxCount = 30;

static SqlConnection[] sqlConns = new SqlConnection[maxCount];

//自己创建自己

static SqlConnections myConn = new SqlConnections();

//初始化

private SqlConnections()

{

for (int i = 0; i < maxCount; i++)

{

sqlConns[i] = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ADOStr"].ToString());

}

}

//根据条件来获取不同的表,与字段。

public static DataTable GetDataTable(String sqlTest, String tableName)

{

try

{

DataSet myDS = new DataSet();

SqlDataAdapter myAdapater = new SqlDataAdapter(sqlTest, SqlConnections.GetSQLConnection());

myAdapater.Fill(myDS, tableName);

return myDS.Tables[tableName];

}

catch (SqlException sqlE)

{

return null;

}

}

// 获取数据库连接

public static SqlConnection GetSQLConnection()

{

try

{

try

{

sqlConns[count].Close();

}

catch (Exception eeX)

{

}

return sqlConns[count];

}

finally

{

//当前个数自加。。

if (count == (maxCount - 1))

{

count = 0;

}

else

{

count++;

}

}

}

//返回一个参数

public static String GetNumOneField(String sqlTxt)

{

SqlConnection sqlConnTemp = SqlConnections.GetSQLConnection();

try

{

SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);

sqlConnTemp.Open();

return sqlCommT.ExecuteScalar().ToString();

}

catch (Exception sqlE)

{

return "没有";

}

finally

{

sqlConnTemp.Close();

}

}

//返回一个参数

public static String GetNumOneField(SqlConnection sqlConnTemp,SqlTransaction tempSqlTran ,String sqlTxt)

{

try

{

SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);

sqlCommT.Transaction = tempSqlTran;

return sqlCommT.ExecuteScalar().ToString();

}

catch (Exception sqlE)

{

return "没有";

}

finally

{

//sqlConnTemp.Close();

}

}

/// <summary>

/// 做 ,修改,删除,

/// </summary>

/// <param name="sqlTxt">执行的SQL语句</param>

/// <returns>返回的结果影响多少行</returns>

public static int UpdateOrDelete(String sqlTxt)

{

SqlConnection sqlConnTemp = SqlConnections.GetSQLConnection();

try

{

SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);

sqlConnTemp.Open();

return sqlCommT.ExecuteNonQuery();

}

catch (SqlException sqlE)

{

return 0;

}

finally

{

//sqlConnTemp.Close();

}

}

public static int UpdateOrDelete(CommandType _CommandType, SqlParameter[] _sqlParas, String sqlTxt)

{

SqlConnection sqlConnTemp = SqlConnections.GetSQLConnection();

try

{

SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);

sqlCommT.CommandType = _CommandType;

sqlCommT.Parameters.Clear();

for (int a = 0; a < _sqlParas.Length; a++)

{

sqlCommT.Parameters.Add(_sqlParas[a]);

}

sqlConnTemp.Open();

return sqlCommT.ExecuteNonQuery();

}

catch (SqlException sqlE)

{

return 0;

}

finally

{

//sqlConnTemp.Close();

}

}

/// <summary>

/// 带事务的增,删,改数据执行方法(警告:该方法必须 手动开关数据,而且还有手动的提交事务。否则不能更新数据)

/// </summary>

/// <param name="_SqlConn">数据库连接对象</param>

/// <param name="_SqlTran">事务对象</param>

/// <param name="sqlTxt">执行的Sql语句</param>

/// <returns></returns>

public static int UpdateOrDelete(SqlConnection _SqlConn,SqlTransaction _SqlTran, String sqlTxt)

{

SqlConnection sqlConnTemp = _SqlConn;

try

{

SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);

sqlCommT.Transaction = _SqlTran;

sqlConnTemp.Open();

return sqlCommT.ExecuteNonQuery();

}

catch (SqlException sqlE)

{

return 0;

}

finally

{

//sqlConnTemp.Close();

}

}

public static int UpdateOrDelete(SqlConnection _SqlConn, SqlTransaction _SqlTran, CommandType _CommandType, SqlParameter [] _sqlParas, String sqlTxt)

{

SqlConnection sqlConnTemp = _SqlConn;

try

{

SqlCommand sqlCommT = new SqlCommand(sqlTxt, sqlConnTemp);

sqlCommT.Transaction = _SqlTran;

sqlCommT.CommandType = _CommandType;

sqlCommT.Parameters.Clear();

for (int a = 0; a < _sqlParas.Length; a++)

{

sqlCommT.Parameters.Add(_sqlParas[a]);

}

return sqlCommT.ExecuteNonQuery();

}

catch (SqlException sqlE)

{

return 0;

}

finally

{

// sqlConnTemp.Close();

}

}

/// <summary>

/// 有存储过的查询

/// </summary>

/// <param name="StoredProcedureName">存储过程的名字</param>

/// <param name="sqlParas">所有参数</param>

/// <param name="tableName">表名</param>

/// <returns>DataTable的结果集</returns>

public static DataTable GetDataTable(String StoredProcedureName, SqlParameter [] sqlParas,String tableName)

{

try

{

DataSet myDS = new DataSet();

SqlDataAdapter myAdapater = new SqlDataAdapter(StoredProcedureName, SqlConnections.GetSQLConnection());

myAdapater.SelectCommand.CommandType = CommandType.StoredProcedure;

for (int i = 0; i < sqlParas.Length; i++)

{

//if (myAdapater.SelectCommand.Parameters.Contains(sqlParas[i]))

//myAdapater.SelectCommand.Parameters.RemoveAt(sqlParas[i].ParameterName);

myAdapater.SelectCommand.Parameters.Add(sqlParas[i]);

}

myAdapater.Fill(myDS, tableName);

myAdapater.SelectCommand.Parameters.Clear();

myAdapater.Dispose();

return myDS.Tables[tableName];

}

catch (SqlException sqlE)

{

return null;

}

}

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新asp.net教程学习
热门asp.net教程学习
编程开发子分类