代码如下:
/// <summary>
/// Gets Connection out of Web.config
/// </summary>
/// <returns>Returns SqlConnection</returns>
public static SqlConnection GetConnection()
{
SqlConnection conn = new SqlConnection( Config.ConnectionString );
conn.Open();
return conn;
}
/// <summary>
/// Gets data out of the database
/// </summary>
/// <param name="cmd">The SQL Command</param>
/// <returns>DataTable with the results</returns>
static private DataTable GetData( SqlCommand cmd )
{
QueryCounter qc = new QueryCounter( cmd.CommandText );
try
{
if ( cmd.Connection != null )
{
using ( DataSet ds = new DataSet() )
{
using ( SqlDataAdapter da = new SqlDataAdapter() )
{
da.SelectCommand = cmd;
da.Fill( ds );
return ds.Tables [0];
}
}
}
else
{
using ( SqlConnection conn = GetConnection() )
{
using ( SqlTransaction trans = conn.BeginTransaction( m_isoLevel ) )
{
try
{
cmd.Transaction = trans;
using ( DataSet ds = new DataSet() )
{
using ( SqlDataAdapter da = new SqlDataAdapter() )
{
da.SelectCommand = cmd;
da.SelectCommand.Connection = conn;
da.Fill( ds );
return ds.Tables [0];
[color=#FF0000]问题:这里怎么在连接为空的时候也可以执行操作? 这里的“conn.BeginTransaction”执行了什么样的操作???
}
}
}
finally
{
trans.Commit();
}
}
}
}
}[/color]
finally
{
qc.Dispose();
}
}
/// <summary>
/// Gets Connection out of Web.config
/// </summary>
/// <returns>Returns SqlConnection</returns>
public static SqlConnection GetConnection()
{
SqlConnection conn = new SqlConnection( Config.ConnectionString );
conn.Open();
return conn;
}
/// <summary>
/// Gets data out of the database
/// </summary>
/// <param name="cmd">The SQL Command</param>
/// <returns>DataTable with the results</returns>
static private DataTable GetData( SqlCommand cmd )
{
QueryCounter qc = new QueryCounter( cmd.CommandText );
try
{
if ( cmd.Connection != null )
{
using ( DataSet ds = new DataSet() )
{
using ( SqlDataAdapter da = new SqlDataAdapter() )
{
da.SelectCommand = cmd;
da.Fill( ds );
return ds.Tables [0];
}
}
}
else
{
using ( SqlConnection conn = GetConnection() )
{
using ( SqlTransaction trans = conn.BeginTransaction( m_isoLevel ) )
{
try
{
cmd.Transaction = trans;
using ( DataSet ds = new DataSet() )
{
using ( SqlDataAdapter da = new SqlDataAdapter() )
{
da.SelectCommand = cmd;
da.SelectCommand.Connection = conn;
da.Fill( ds );
return ds.Tables [0];
[color=#FF0000]问题:这里怎么在连接为空的时候也可以执行操作? 这里的“conn.BeginTransaction”执行了什么样的操作???
}
}
}
finally
{
trans.Commit();
}
}
}
}
}[/color]
finally
{
qc.Dispose();
}
}
解决方案 »
- sql数据库缓存依赖
- ASP.NET网站的部署问题
- 在线急求解答!!关于 SliderShowExtender 链接数据库!
- 散分!谁能推荐个企业级的开发平台或基础框架?
- 帮我写web.config限制一个文件夹非法浏览
- 网上搜的验证码,不知如何用,大家帮帮我吧 100分
- 谁能不能给我一个用vb.net连接SQL server数据库的例子?谢谢!
- 关于Asp.net中编辑框的输入长度限制的问题,高手进,请赐教,急急急,在线等
- 用javascrip显示label(急)
- 使用mvc扩展方法影响速度吗
- vs2010 打开DotNetNuke里面的.vb 文件出现的问题,请进来看看。
- EntLibForum论坛系统V4.0之“Forum.cs”和“ForumPage.cs”的关系
conn.BeginTransaction-开始事物
的连接中创建事务
一般查询的时候是不需要建立事务的,提交的时候才需要