数据库open有关问题
数据库open问题
定义了一个递归函数,在里面连接了数据库,代码大致如下
void fun()
{
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if (SUCCEEDED(hr))
{
CString strConnect="Provider=SQLOLEDB.1;Initial Catalog='mydata2';Data Source=";
strConnect+=strip;
hr = m_pConnection->Open((_bstr_t)strConnect,(_bstr_t)struser,(_bstr_t)strpassword,adModeUnknown);
}
}
//处理其他事情
fun();
}
我想问,一直连接没有close会不会出问题啊。
------解决思路----------------------
程序这有这么多问题不大,看你使用一次之后会不会关闭。你可以加个判断。如果没关就就关闭呗。
------解决思路----------------------
数据库连接时是有限制的,如果一直连接不关闭,而且很多人用的话,系统一会就~~
不过,对于某些只有几个人使用的应用程序,可以不关闭数据库连接。
你可以在不需要读取的时候关闭连接~
------解决思路----------------------
这个写不法不好,递归函数中 连接又断开,你的 DB 会很忙。
就好比,你搬的时候,东西装了好几车,你每次只能拿一个小箱子,每进一次门,你就要开门、放下东西、出门、锁门。
------解决思路----------------------
打开多个连接毫无意义!作死向!!
递归之前开连接,运行递归,关连接。
定义了一个递归函数,在里面连接了数据库,代码大致如下
void fun()
{
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if (SUCCEEDED(hr))
{
CString strConnect="Provider=SQLOLEDB.1;Initial Catalog='mydata2';Data Source=";
strConnect+=strip;
hr = m_pConnection->Open((_bstr_t)strConnect,(_bstr_t)struser,(_bstr_t)strpassword,adModeUnknown);
}
}
//处理其他事情
fun();
}
我想问,一直连接没有close会不会出问题啊。
------解决思路----------------------
程序这有这么多问题不大,看你使用一次之后会不会关闭。你可以加个判断。如果没关就就关闭呗。
------解决思路----------------------
数据库连接时是有限制的,如果一直连接不关闭,而且很多人用的话,系统一会就~~
不过,对于某些只有几个人使用的应用程序,可以不关闭数据库连接。
你可以在不需要读取的时候关闭连接~
------解决思路----------------------
这个写不法不好,递归函数中 连接又断开,你的 DB 会很忙。
就好比,你搬的时候,东西装了好几车,你每次只能拿一个小箱子,每进一次门,你就要开门、放下东西、出门、锁门。
------解决思路----------------------
打开多个连接毫无意义!作死向!!
递归之前开连接,运行递归,关连接。