获得编辑框中的路径信息,然后通过一个button点击来建立数据库连接?
解决方案 »
- Navigate 到新窗口,怎么Headers转不过去?
- 学习vc度入迷茫期
- [讨论]上TB级的三元组数据存储与查找
- 模态对话框弹出位置居中在父窗口的中心,这个应该怎么做?
- 帮帮忙,如何嵌入一个exe文件的问题.
- API的!!!!一个我想了一个星期都不知道怎么解决的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!请高手们帮忙看下,或者帮我顶一下...谢谢。
- 小弟眼拙,go2map是一种什么技术呢?
- 请问:在mfc中STL是不是不可以当真正的数组啊??
- 求用vc实现滤波器的程序,急!!(100分)
- 抠图加角度校调
- 小弟问个很菜的问题:怎么使MDI生成的每个子窗口初成最大化????
- 各位大虾:MFCGridCtrl是VC里的标准控件吗?如果是,该如何使用?
我做的时候尽量考虑了多的情况
你可以拿去参考一下
CString strFile;
strFile = "CVA.mdb";CFileFind DBFind;
if ( !DBFind.FindFile(strFile) )
{
int nResponse = MessageBox("没有找到CVA.mdb!\n是否手动查找?", "定位数据库错误", MB_YESNO );
if ( IDYES == nResponse )
{
//查找数据库文件
static LPCTSTR lpszFilter = "数据库文件 (*.mdb)|*.mdb||";
CFileDialog dbDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, lpszFilter);
if ( IDOK == dbDlg.DoModal() )
{
//重新定位了文件
strFile = dbDlg.GetPathName();
//把文件复制到工作目录中,方便使用
::CopyFile(strFile, "CVA.mdb",NULL);
strFile = "CVA.mdb";
}
}
else
{
//程序启动失败
AfxMessageBox("由于未能够加载数据库文件,程序启动失败!\n请与供应商联系!");
return FALSE;
}
}
CString strDB;
strDB.Format("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = %s", strFile);
然后下面做一堆什么try{ open....}catch(...){}之类的东西
//与本地数据库建立连接
CString Local_strSQL;
char Local_ip[16];
char Local_Database[20];
char Local_Username[16];
char Local_Password[16];
//连接数据库
m_pConnection.CreateInstance(__uuidof(Connection));
Local_strSQL.Format("driver={SQL Server};Server=%s;DATABASE=%s;UID=%s;PWD=%s",Back_ip,Back_Database,Back_Username,Back_Password);
try
{
m_pConnection->ConnectionTimeout = 5;///设置超时时间为5秒
m_pConnection->Open(_bstr_t(Local_strSQL),"","",adModeUnknown);
AfxMessageBox("连接本地数据库OK!");
}
catch(_com_error e)
{
AfxMessageBox("连接本地数据库失败!");
return FALSE;
}
TCHAR szConnIn[512];
TCHAR szConnOut[512];
short cbConnIn, cbConnOut;
SQLRETURN rc;
// 连接Visual Foxpro free tables
cbConnIn=wsprintf(szConnIn, TEXT("DRIVER={Microsoft Visual FoxPro Driver};SourceDB=%s;SourceType=dbf;"), szPath);// 连接dBASE数据库
cbConnIn=wsprintf(szConnIn, TEXT("Driver={Microsoft dBASE Driver (*.dbf)};DBQ=%s; DriverID=277;), szPath);rc=SQLDriverConnect(hdbc, NULL, (SQLTCHAR *)szConnIn, cbConnIn, (SQLTCHAR *)szConnOut, sizeof(szConnOut), &cbConnOut, SQL_DRIVER_NOPROMPT);if(SQL_SUCCESS==rc || SQL_SUCCESS_WITH_INFO==rc)
{
...
}