读书人

对于关闭数据库和关闭连接!

发布时间: 2011-12-23 23:32:01 作者: rapoo

关于关闭数据库和关闭连接!!!!
这是DATA.CS类

public static string connection()
{
connstr = ConfigurationManager.AppSettings[ "databasestr "].ToString();
return connstr;
}
public static SqlDataReader operator_selectonlyread(string sqlstr)
{
connstr=connection();
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sqlstr, conn);
SqlDataReader read = cmd.ExecuteReader();
return read;
}


这是另一个类文件(find.cs),在此调用上边的类的一个方法

public static int LandingConfirmation(string username,string userpassword)
{
sqlstr = "select top 1 * from manager where account= ' " + username + " ' and pwd= ' " + userpassword+ " ' ";
if (Data.operator_selectonlyread(sqlstr).Read())
{
result = 1 }
else
{
result = 0;
}
return result;
}


我想问一下应该在哪关闭数据库和连接啊 该怎么关闭 谢谢

[解决办法]
hertcloud(£孙子兵法£) ( ) 信誉:100 Blog 2007-04-03 11:57:29 得分: 0


SqlDataReader read = cmd.ExecuteReader();
---->
cmd.ExecuteReader(CommandBehavior.CloseConnection);
SqlDataReader dr = Data.operator_selectonlyread(sqlstr);
if (dr.Read())
{
result = 1 }
else
{
result = 0;
}
dr.Close();
return result;



---------------------------------
up
[解决办法]

public static SqlDataReader operator_selectonlyread(string sqlstr)
{
connstr=connection();
SqlConnection conn = new SqlConnection(connstr);
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sqlstr, conn);
SqlDataReader read = cmd.ExecuteReader();


return read;
}
}
catch (SqlException e)
{
throw new Exception(e.Message);
}
finally
{
conn.Close();
cmd.Dispose();
}


}
[解决办法]
SqlDataReader 这个不用关

LandingConfirmation 这个
在 return result; 之前关就可以了

==================
就是用完了 关闭就可以了

[解决办法]
public static SqlDataReader operator_selectonlyread(string sqlstr)
{
connstr=connection();
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand(sqlstr, conn);
SqlDataReader read = cmd.ExecuteReader();
conn.Close(); //数据库关闭最好还是在本身的方法内。读完数据收工,关闭。假如想要获得一些数据,就在上面一行定义变量,读取数据赋值。
return read;
}
[解决办法]
SqlDataReader 是以流的形式传输的
如果关闭了数据自然就没有了
只能在你另一个文件里面调用完了才能关

楼上hertcloud(£孙子兵法£) 的方法很好

CommandBehavior.CloseConnection虽然可以同步关闭
不过建议还是写一个Close()方法关闭连接比较好一点

读书人网 >asp.net

热点推荐