我前段时间连接数据库的方法是这样的:
_bstr_t source("Provider=sqloledb;Data Source=server;"
       "Initial Catalog=WuliuDB;User Id=sa;Password=123;");
m_Connection.CreateInstance(_uuidof(Connection));
m_Connection->Open(source,"","", adConnectUnspecified);一切OK。后来我把连接参数写到配置文件中,每次启动程序的时候便自动读取参数,然后连接,我这样写的:
CString source;
source.Format("Provider=sqloledb;Data Source=server;"
       "Initial Catalog=WuliuDB;User Id=sa;Password=123;");//这里简化了,参数是读出来的。
m_Connection.CreateInstance(_uuidof(Connection));
m_Connection->Open((_bstr_t)source,"","", adConnectUnspecified);大家看,我几乎没做什么改变,只不过是进行了一次转换而已。我上周调试的时候发现一切正常,这样做是可以运行的,可今天一上班运行的时候发现一莫名其妙的问题:只能从数据库读取数据,但不能插入数据!可我上周还能正常运行阿。我以为是程序中哪儿改动了,但没找到。 当我把连接方式改为前一种时,却又恢复正常了!奇怪。但当把连接字符串先存放到一CString 变量中,再转化为_bstr_t类型进行连接时却只能读而不能写! 我没折了。各位老大帮帮忙吧。声明:我程序中其他地方没做任何改变!