用VC+sql2000做了一个小软件,前面编写代码的时候连接的是本地的数据库,但是现在想改成连接远程数据库,不知如何下手。前面编写代码的时候为本地数据库的各个表创建了相关的类,比如为td_goods这个表创建了CGoodsset类,然后VC自动编写了连接数据库的代码,如下:
CString CGoodsset::GetDefaultConnect()
{
return _T("ODBC;DSN=td_shop");
}CString CGoodsset::GetDefaultSQL()
{
return _T("[dbo].[td_goods]");
}以下是自己编写的打开表td_goods的代码:
UpdateData(TRUE);
CString sqlStr;
sqlStr.Format("select * from td_goods"); //载入数据库相关表的数据
td_goodsset = new CGoodsset(&((CSHOPApp*)AfxGetApp())->m_DB);
if(!td_goodsset->Open(AFX_DB_USE_DEFAULT_TYPE,sqlStr))
{
AfxMessageBox("tb_goods表打开失败!");
}
DisplayRecord();
if(td_goodsset->IsOpen())
{
td_goodsset->Close();
delete td_goodsset;
} 如果改成远程数据库的连接,如何在原来的基础上进行修改,比如上面提到的打开td_goods这个表所要修改的代码?

解决方案 »

  1.   

    ODBC  td_shop修改成远程就可以了,或者新一个别的ODBC配置文件跟着修改一下~
      

  2.   

    毕业设计呀,跪求大家帮忙,代表全家谢谢谢了~~自己瞎弄了一下,参考了别人的方法修改了一下,出了问题,跪求大家帮忙:
    1、在我同学的电脑上安装了SQL2000(sp4补丁)、SQL Server身份验证,附加自己的数据库,在SQL 网络使用工具中设置了TCP/IP协议和多命名管道,端口默认为1433,隐藏服务器没选上
    2、通过DOC命令成功ping上,通过telnet <服务器IP地址> 1433,也能成功,通过netstat -a -n显示能监听我同学的1433端口
    3、在我的电脑上新建一个SQL server注册,将可用的服务器设置成我同学电脑的IP,将我同学的防火墙,杀毒软件关闭后注册成功,最后打开新建的SQL server组能正常访问我同学电脑上的数据库。
    4,、修改相应代码,如下:
    CString CUserset::GetDefaultConnect()
    {
    return _T("ODBC;driver={SQL  Server};server=171.39.***.***;database=td_shop;uid=sa;pwd=pygood ");
    // return _T("ODBC;DSN=td_shop");
    }
    CString CUserset::GetDefaultSQL()
    {
    return _T("[ODBC;Driver={SQL   Server};Server=171.39.***.***;
              Uid=sa;Pwd=pygood;database=td_shop].[td_users]");
    //return _T("[dbo].[td_users]");
    }//打开td_users表
    sqluser.Format("select   *   from[ODBC;Driver={SQL   Server};Server=171.39.***.***;Uid=sa;Pwd=pygood;database=td_shop].td_users where Username = '%s' and Pwd = '%s'",m_username,m_password);运行时在显示的SQL Server登录对话框中,点击选项,将工作站的ID改成我同学电脑的IP(或者Server的名称),都提示对象名
    'ODBC;Driver={SQL   Server};Server=171.39.164.152;Uid=sa;Pwd=pygood;database=td_shop.td_users'无效,什么问题呢,惆怅呀......