如何用vs中的mfc连接sql server 2008

如何用vs中的mfc连接sql server 2008,第1张

*** 作如下:

SQLEXPRESS服务开启或者设置为自动启动.

连接字符串如下:Data Source=.\SQLEXPRESSAttachDbFilename=|DataDirectory|\Test.mdfIntegrated Security=TrueUser Instance=True

|DataDirectory|代表app_data数据文件夹相对路径.

比如Test.mdf数据库需要放在app_data文件夹内这样就是相对路径.如果选择MS SERVER 数据库文件就是选择数据库的绝对路径了 。

"\"在C语言的作用忘记了?

如果数据库存放位置是本机,建议使用127.0.0.1

否则:如果是公网,则用域名,局域网则用IP

最好是将连接字串写在非EXE里,这样方便发布和修改数据库服务器位置、帐号密码

还有,vc中连通前,你应该在mssql管理器中尝试连接,如果在mssql管理器中都连接不能,则问题不出在VC中

case DATABASE_MSSQL:

strcpy_s(data,"Driver={SQL Server}")

strcat_s(data,"Server=")

strcat_s(data,addr)

if(addr[0]!='.')//如果服务器地址使用".",则不能加端口

{

strcat_s(data,",")

strcat_s(data,port)

}

strcat_s(data,"")

strcat_s(data,"UID=")

strcat_s(data,user)

strcat_s(data,"")

strcat_s(data,"PWD=")

strcat_s(data,pwd)

strcat_s(data,"")

if(strlen(database))

{

strcat_s(data,"Database=")

strcat_s(data,database)

strcat_s(data,"")

}

上面是连接字符串生成代码,下面是打开连接的函数

int CAdoDataBase::Open(const char* data)

{

int ret=0

memset(m_strLogin,0,1024)

strcpy_s(m_strLogin,data)

this->Lock()

do 

{

try

{

m_pConnection.CreateInstance(__uuidof(Connection))

ret=m_pConnection->Open((_bstr_t)data,"","",adModeUnknown)

m_bFlag=TRUE

ret=0

}

catch (_com_error e) 

{

m_bFlag=FALSE

strcpy_s(m_strErrCode,e.Description())

m_pConnection=NULL

ret=-1

}

} while (FALSE)

this->UnLock()

return ret

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9892002.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存