谁能给我一个数据库访问类? Enterprise Library 太大了,不适合大部分人可以参考petshop,的SQLHELPER 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //微软的SqlHelper.csusing System;using System.Text;using System.Data;using System.Data.SqlClient;using System.Collections.Generic;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;/// <summary>/// SqlHeper 的摘要说明/// </summary>public class SqlHelper{ public SqlHelper() { } public static SqlConnection mianconn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strconn"].ToString()); public static void UpdateUseSqlCommandBuilder(SqlConnection conn, bool closeConn, string cmdText, DataTable dtTable) { if (conn.State == ConnectionState.Closed) { conn.Open(); } SqlCommand cmd = new SqlCommand(); DataTable datatable = new DataTable(); PrepareCommand(cmd, conn, null, CommandType.Text, cmdText, null); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(datatable); foreach (DataRow drTmp in dtTable.Rows) { DataRow drAdd; drAdd = datatable.NewRow(); for (int i = 1; i < datatable.Columns.Count - 1; i++) { drAdd[i] = drTmp[i]; } datatable.Rows.Add(drAdd); } SqlCommandBuilder sqlCB = new SqlCommandBuilder(sda); sda.Update(datatable); cmd.Parameters.Clear(); if (closeConn == true) { conn.Close(); } } public static DataTable GetDataTableBySearch(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) { if (conn.State == ConnectionState.Closed) { conn.Open(); } SqlCommand cmd = new SqlCommand(); DataTable datatable = new DataTable(); PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms); SqlDataAdapter sda = new SqlDataAdapter(cmd); sda.Fill(datatable); cmd.Parameters.Clear(); if (closeConn == true) { conn.Close(); } return datatable; } public static int ExecuteNonQuery(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) { if (conn.State == ConnectionState.Closed) { conn.Open(); } SqlCommand cmd = new SqlCommand(); if (conn.State == ConnectionState.Closed) { conn.Open(); } PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); if (closeConn == true) { conn.Close(); } return val; } public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return val; } public static SqlDataReader ExecuteReader(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) { if (conn.State == ConnectionState.Closed) { conn.Open(); } SqlCommand cmd = new SqlCommand(); PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms); SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); if (closeConn == true) { conn.Close(); } return rdr; } public static object ExecuteScalar(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms) { SqlCommand cmd = new SqlCommand(); if (conn.State == ConnectionState.Closed) { conn.Open(); } PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms); object val = cmd.ExecuteScalar(); cmd.Parameters.Clear(); if (closeConn == true) { conn.Close(); } return val; } public static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms) { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null) { foreach (SqlParameter parm in cmdParms) cmd.Parameters.Add(parm); } }} 我用的:http://blog.csdn.net/Eray/archive/2007/05/14/1608431.aspx 采集数据的方法和技巧 js中的函数问题 不能删除,外键问题 如何本地化asp.net的FileUpload控件 如何解决呢????? 晕死~为何CreateChildControls不让跟踪? 请问用asp.net 做的 B/S 系统 应该如何实现多帐套?? 在后台使用js的alert之后,前端的排版会出现错误是为什么 ***虚拟目录和IIS配置搞不明白了,求助论坛!*** 论.net的稳定性和速度 求个正则表达示,,,,的写法~~~~! 新手用asp.net做网站
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Collections.Generic;
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;
/// <summary>
/// SqlHeper 的摘要说明
/// </summary>
public class SqlHelper
{
public SqlHelper()
{ }
public static SqlConnection mianconn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["strconn"].ToString()); public static void UpdateUseSqlCommandBuilder(SqlConnection conn, bool closeConn, string cmdText, DataTable dtTable)
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand();
DataTable datatable = new DataTable();
PrepareCommand(cmd, conn, null, CommandType.Text, cmdText, null);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(datatable);
foreach (DataRow drTmp in dtTable.Rows)
{
DataRow drAdd;
drAdd = datatable.NewRow();
for (int i = 1; i < datatable.Columns.Count - 1; i++)
{
drAdd[i] = drTmp[i];
}
datatable.Rows.Add(drAdd);
}
SqlCommandBuilder sqlCB = new SqlCommandBuilder(sda);
sda.Update(datatable);
cmd.Parameters.Clear();
if (closeConn == true)
{
conn.Close();
}
} public static DataTable GetDataTableBySearch(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand();
DataTable datatable = new DataTable();
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
sda.Fill(datatable);
cmd.Parameters.Clear();
if (closeConn == true)
{
conn.Close();
}
return datatable;
} public static int ExecuteNonQuery(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand();
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
if (closeConn == true)
{
conn.Close();
}
return val;
} public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
} public static SqlDataReader ExecuteReader(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
if (closeConn == true)
{
conn.Close();
}
return rdr;
} public static object ExecuteScalar(SqlConnection conn, bool closeConn, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
if (conn.State == ConnectionState.Closed)
{
conn.Open();
}
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
if (closeConn == true)
{
conn.Close();
}
return val;
} public static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{
if (conn.State != ConnectionState.Open)
conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null)
cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}}
http://blog.csdn.net/Eray/archive/2007/05/14/1608431.aspx