private SqlConnection sqlCon=null;//一般连接
private SqlConnection sqlConForTran=null;//事务连接
以下是我定义的方法
public void BeginTrans()
{
sqlConForTran=new SqlConnection(Sqlstrconn);
if(sqlConForTran.State!=ConnectionState.Open)sqlConForTran.Open();
sqlTran=sqlConForTran.BeginTransaction();
} public void CommitTrans()
{
sqlTran.Commit();
sqlTran.Dispose();
sqlConForTran.Close();
} public void RollbackTrans()
{
sqlTran.Rollback();
sqlTran.Dispose();
sqlConForTran.Close();
} public DataTable ExecuteToTable(string Sql)
{
//填充DataTable
SqlDataAdapter MyDataAdapter;
MyDataAdapter=new SqlDataAdapter(Sql, sqlCon);
DataSet MyDataSet=new DataSet();
string tbName=BuildTable();
try
{
MyDataAdapter.Fill(MyDataSet,tbName);
}
catch(Exception e)
{
eMsg=e.Message;
}
return MyDataSet.Tables[tbName];
}当我如此调用时
BeginTrans();ExecuteToTable(sql)时,ExecuteToTable中的连接超时
请问这是什么原因,如果解决
private SqlConnection sqlConForTran=null;//事务连接
以下是我定义的方法
public void BeginTrans()
{
sqlConForTran=new SqlConnection(Sqlstrconn);
if(sqlConForTran.State!=ConnectionState.Open)sqlConForTran.Open();
sqlTran=sqlConForTran.BeginTransaction();
} public void CommitTrans()
{
sqlTran.Commit();
sqlTran.Dispose();
sqlConForTran.Close();
} public void RollbackTrans()
{
sqlTran.Rollback();
sqlTran.Dispose();
sqlConForTran.Close();
} public DataTable ExecuteToTable(string Sql)
{
//填充DataTable
SqlDataAdapter MyDataAdapter;
MyDataAdapter=new SqlDataAdapter(Sql, sqlCon);
DataSet MyDataSet=new DataSet();
string tbName=BuildTable();
try
{
MyDataAdapter.Fill(MyDataSet,tbName);
}
catch(Exception e)
{
eMsg=e.Message;
}
return MyDataSet.Tables[tbName];
}当我如此调用时
BeginTrans();ExecuteToTable(sql)时,ExecuteToTable中的连接超时
请问这是什么原因,如果解决
解决方案 »
- IIS内设置了一个网站,如何共存.net4.0和.net2.0的两个虚拟目录
- .dbml .edmx
- 无法将类型“System.Data.SqlClient.SqlDataReader”隐式转换为“System.Data.SqlClient.SqlDataAda
- “附加到进程”是什么意思
- 怎么能让DataGrid在编辑的时候不改变大小呢.?
- 可以在浏览里用c#来使用GDI+绘图吗?
- 100分求SQL全文检索 打开搜索到的文件让关键字显示红色怎么做
- 网页中dropdownlist控件问题
- Repeater的ItemTemplate单击事件不触发
- b/s下客户端的文件保存到数据库的问题?
- 无法访问中文网页!!!急切等待您的回答,谢谢!
- 请教多态的使用疑惑?
http://community.csdn.net/Expert/topic/4545/4545068.xml?temp=.5926172
sqlCon不是sqlConForTran??
{
//执行sql查询
bool succ;
SqlCommand MyCommand=null;
if(sqlTran==null)
{
MyCommand=new SqlCommand(Sql, sqlCon);
}
else
{
MyCommand=new SqlCommand(Sql, sqlConForTran);
}
try
{
if(sqlTran!=null)MyCommand.Transaction=sqlTran;//使用事务
succ=(bool)(MyCommand.ExecuteNonQuery()!=0);
MyCommand.Dispose();
}
catch(Exception e)
{
eMsg=e.Message;
succ=false;
}
return succ;
}