以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- 动态生成数据库连接文件类 (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=87476) |
-- 作者:葛靖青001 -- 发布时间:11/4/2010 4:56:00 PM -- 动态生成数据库连接文件类 1、首先定义一个数据库连接结构: struct db { char Server[20]; char Database[20]; char UserId[20]; char Password[20]; }; 2、生成数据库连接文件: BOOL CUdlFile::CreateUdlFile(LPCTSTR lpFileName) { CFile fUdl; BOOL bResult; CString s1,s2,s3; int m_Length; //set value s1="[oledb]"; s2="; Everything after this line is an OLE DB initstring"; s3.Format("Provider=SQLOLEDB.1;Password=%s; m_dbParameter.Password, m_dbParameter.UserId, m_dbParameter.Database, m_dbParameter.Server); //open file bResult=fUdl.Open (lpFileName,CFile::modeCreate|CFile::modeWrite); if(!bResult) return FALSE; LPWSTR m_Buffer; m_Buffer = (LPWSTR)malloc(2 * sizeof(WCHAR)); m_Buffer[0]=0xFEFF; //flag of UNICODE file fUdl.Write (m_Buffer,2); free(m_Buffer); fUdl.Write (L"[oledb]",14); //14为[oldb]的长度X2 fUdl.Write(L"\r\n",4); fUdl.Write (L"; Everything after this line is an OLE DB initstring",104); //104为字符串长度X2 fUdl.Write(L"\r\n",4); m_Length=s3.GetLength (); m_Buffer = (LPWSTR)malloc((m_Length + 1) * sizeof(WCHAR)); MultiByteToWideChar(CP_ACP, 0, s3, m_Length, m_Buffer, m_Length); fUdl.Write (m_Buffer,s3.GetLength ()*2); fUdl.Write(L"\r\n",4); free(m_Buffer); m_Buffer = NULL; fUdl.Close (); return TRUE; } 3、删除数据库连接文件: BOOL CUdlFile::DeleteUdlFile(LPCTSTR lpFileName) { return ::DeleteFile(lpFileName); } |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
7,203.125ms |