呵呵。ctrl + c & ctrl + v
解决方案 »
- 【求教高手】怎样做到Flash转化成图片(ASP.NET)
- 只有 assignment、call、increment、decrement 和 new 对象表达式可用作语句
- WCF上传文件怎样与.net结合
- 请教:服务器控件visible属性设置了false之后,在js中怎样再显示出来
- 求解最好的图片加载方案
- WMEncoderLib 引用什么空间啊?
- 100分求一个datalist格式显示的简单问题,解决马上送分!!!
- 有关在Global.asax中连接数据库,谢谢
- www.asp.net网站上有个asp.net version1.1是做什么的?
- 这个问题你会吗?
- 上传文件问题!!!
- 急死我了,为什么找不到好用的asp.net学习资料?
DataSet m_DataSet=fetchReader("select....",DatabaseName);
各位高手帮帮忙.
^_^
<appsetting>
<add key="sqlconn" value="local..........."/>
</appsetting>
然后在各个页面/组件/程序里引用就行乐
SqlHelper类确实好,不过我觉得自己写的才是最复合自己需要的,嗯
using fetchData_sdk;
然后在代码里实例化类的一个对象,引用里面的方法就行了。
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;namespace Components
{
/// <summary>
/// 数据库操作类:实现最基本的数据库操作的类
/// </summary>
public abstract class Database
{
/// <summary>
/// 数据库连接串
/// </summary>
public static readonly string CONN_STRING = "server=bob;user id=sa;pwd=Kingter;database=classmate";
//public static readonly string CONN_STRING1 = ConfigurationSettings.AppSettings["ConnString"];
/// <summary>
/// 用于存放参数集
/// </summary>
private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
/// <summary>
/// 执行 cmdText 语句并返回受影响的行数
/// </summary>
/// <param name="connString">数据库连接串</param>
/// <param name="cmdType">命令类型</param>
/// <param name="cmdText">命令语句</param>
/// <param name="cmdParms">命令参数集</param>
/// <returns>受影响的行数</returns>
public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
} /// <summary>
/// 执行 cmdText 语句并返回受影响的行数,基于事务处理
/// </summary>
/// <param name="trans">事务句柄</param>
/// <param name="cmdType">命令类型</param>
/// <param name="cmdText">命令语句</param>
/// <param name="cmdParms">命令参数集</param>
/// <returns>受影响的行数</returns>
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;
} /// <summary>
/// 执行 cmdText 并生成一个 SqlDataReader。
/// </summary>
/// <param name="connString">数据库连接串</param>
/// <param name="cmdType">命令类型</param>
/// <param name="cmdText">命令语句</param>
/// <param name="cmdParms">命令参数集</param>
/// <returns>SqlDataReader对象</returns>
public static SqlDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connString); try
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
} /// <summary>
/// 执行 cmdText 并生成一个 SqlDataReader。
/// </summary>
/// <param name="connString">数据库连接串</param>
/// <param name="cmdType">命令类型</param>
/// <param name="cmdText">命令语句</param>
/// <param name="cmdParms">命令参数集</param>
/// <returns>DataTable对象</returns>
public static DataTable ExecuteDataTable(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlDataAdapter cmd = new SqlDataAdapter();
cmd.SelectCommand=new SqlCommand();
SqlConnection conn = new SqlConnection(connString); try
{
PrepareCommand(cmd.SelectCommand, conn, null, cmdType, cmdText, cmdParms);
DataSet ds = new DataSet();
cmd.Fill(ds);
cmd.SelectCommand.Parameters.Clear();
return ds.Tables[0];
}
catch
{
conn.Close();
throw;
}
}
/// <summary>
/// 执行查询,并返回查询所返回的结果集中第一行的第一列
/// </summary>
/// <param name="connString">数据库连接串</param>
/// <param name="cmdType">命令类型</param>
/// <param name="cmdText">命令语句</param>
/// <param name="cmdParms">命令参数集</param>
/// <returns></returns>
public static object ExecuteScalar(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand(); using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
} /// <summary>
/// 将参数集存在Hashtable中
/// </summary>
/// <param name="cacheKey">关键字</param>
/// <param name="cmdParms">参数集</param>
public static void CacheParameters(string cacheKey, params SqlParameter[] cmdParms)
{
parmCache[cacheKey] = cmdParms;
} /// <summary>
/// 从Hashtable中取出参数集
/// </summary>
/// <param name="cacheKey">关键字</param>
/// <returns>参数集</returns>
public static SqlParameter[] GetCachedParameters(string cacheKey)
{
SqlParameter[] cachedParms = (SqlParameter[])parmCache[cacheKey];
if (cachedParms == null)
return null;
SqlParameter[] clonedParms = new SqlParameter[cachedParms.Length]; for (int i = 0, j = cachedParms.Length; i < j; i++)
clonedParms[i] = (SqlParameter)((ICloneable)cachedParms[i]).Clone(); return clonedParms;
} /// <summary>
/// 为执行SqlCommand准备设置
/// </summary>
/// <param name="cmd">命令集</param>
/// <param name="conn">连接句柄</param>
/// <param name="trans">事务处理名柄</param>
/// <param name="cmdType">命令类型</param>
/// <param name="cmdText">命令语句</param>
/// <param name="cmdParms">参数集</param>
private 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);
}
}
}
}
别笑我,
我是新手.
快接贴了......^_^