各位高手帮忙:偶在作数据库编程,因为屡次需用:sqlconnection

gong1 2003-08-23 04:44:23
SqlDataReader 和Dataset
想把他写道一个类里(c#),
在asp.net的窗体里,
怎么样来调用?
例如:
fetchData_sdk.cs

SqlDataReader fetchReader ( string query, string db ) {
// connect to data source
SqlConnection myConn = new SqlConnection (
"server=(local)\\NetSDK; trusted_connection=yes; database=" + db );

// initialize command object with query
SqlCommand myCmd = new SqlCommand ( query, myConn );

// open connection
myConn.Open ( );

// return datareader
return myCmd.ExecuteReader ( CommandBehavior.CloseConnection );
}


// generic method to fetch data from SQL Server into a dataset

DataSet fetchData ( string query, string db ) {
// connect to data source
SqlConnection myConn = new SqlConnection (
"server=(local)\\NetSDK; trusted_connection=yes; database=" + db );

// initialize dataadapter with query
SqlDataAdapter myAdapter = new SqlDataAdapter ( query, myConn );

// initalize and fill dataset with query results
DataSet myData = new DataSet ( );
myAdapter.Fill ( myData );

// return dataset
return myData;
}
我怎样在asp.net里复用上段代码?
帮帮忙了,^_^,先谢谢各位.

...全文
39 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gong1 2003-08-26
  • 打赏
  • 举报
回复
偶从那里能找到sqlhelper类.
别笑我,
我是新手.
快接贴了......^_^
gong1 2003-08-24
  • 打赏
  • 举报
回复
可是直接在asp.net程序里会出错的.
各位高手帮帮忙.
^_^
夏德帝 2003-08-24
  • 打赏
  • 举报
回复
网上抄的,引用一下,希望给你帮助.
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);
}
}


}
}
whblxl 2003-08-24
  • 打赏
  • 举报
回复
放在Page_load中
BenZ004 2003-08-24
  • 打赏
  • 举报
回复
呵,using fetchData_sdk所在的文件夹,如没有就using fetchData_sdk;
然后在代码里实例化类的一个对象,引用里面的方法就行了。
jiaoyuf2 2003-08-24
  • 打赏
  • 举报
回复
在网页的代码文件中加上引用就可以了
using fetchData_sdk;
速马 2003-08-24
  • 打赏
  • 举报
回复
我是自己写了个类,封装常用数据库操作
然后在各个页面/组件/程序里引用就行乐
SqlHelper类确实好,不过我觉得自己写的才是最复合自己需要的,嗯
gj0001 2003-08-24
  • 打赏
  • 举报
回复
用微软的SqlHelper类吧。
ga3ga3 2003-08-24
  • 打赏
  • 举报
回复
写再webconfig里面啊
<appsetting>
<add key="sqlconn" value="local..........."/>
</appsetting>


basil 2003-08-23
  • 打赏
  • 举报
回复
SqlDataReader m_Reader=fetchReader("insert ....",DatabaseName);
DataSet m_DataSet=fetchReader("select....",DatabaseName);
layershow 2003-08-23
  • 打赏
  • 举报
回复
呵呵。ctrl + c & ctrl + v

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧