我是自动附加数据库的,
m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);
不知道是怎么回事,
前面的一些代码:
char  buf[256];//
::GetCurrentDirectory(256,buf);//获取根目录路径
strcat(buf,"\\student_Data.mdf");//
CString  str,strlog,strmdf;
str="student";
strmdf=buf;
strlog=buf;
strlog.Replace("Data.mdf","Log.ldf");
    CAdoxinView::OnAdoInitConn("master");//连接
CString   sql;
sql.Format("EXEC  sp_attach_db @dbname=N'%s',@filename1=N'%s',@filename2=N'%s'",str,strmdf,strlog);
    try
{
m_pConnection->Execute((_bstr_t)sql,NULL,adCmdText);
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
CAdoxinView::ExitAdoConn();

解决方案 »

  1.   

    m_pConnection连接打开没有!?看这错误应该没有打开的样子。
      

  2.   

    我调用了这个函数。是用来初始化的,void CAdoxinView::OnAdoInitConn(CString  str)//连接用的
    {
    CString  strconn;//
     try { 
                 m_pConnection.CreateInstance(__uuidof(Connection)); 
     strconn.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;\
     Initial  Catalog=%s;Data Source=.\\SQLEXPRESS",str);//连接字符串
     m_pConnection->Open((_bstr_t)strconn,"","",adModeUnknown);//建立联结
     }
     catch(_com_error e)
     {
     AfxMessageBox(e.Description());
     }}应该打开了啊
      

  3.   

    把SQL语句放到SQLsever上,试试能执行不、
      

  4.   

    那个暂时不弄了,现在有一个新的问题,就是Windows身份登录 的,联结字符串怎么写?在网上找的,太杂了,谁能说一下?谢谢下面是我的错误的:评点一下
    CString  strconn;//设置连接字符串
     strconn="Provider=SQLOLEDB;Data Source=local;Integrated Security=SSPI";//连接字符串
      

  5.   

    Provider=MSDASQL.1;Persist Security Info=False;User ID=PC-20101120LGDA\\Administrator;Initial Catalog=Student;Data Source=Student
    我是这样做的连接成功了的
      

  6.   

    自动附加数据库可以用批处理完成,但是我只在SQL server 2000里面成功了,代码是网上找的@echo off
    echo 正在设置系统数据库,请稍候...
    @odbcconf.exe /a {CONFIGSYSDSN "SQL Server" "DSN=CSGL|Description=汽车销售管理系统|SERVER=(local)|Database=CSGL"}
    REG Delete "HKLM\SOFTWARE\ODBC\ODBC.INI\CSGL" /v "LastUser" /f
    REG ADD "HKLM\SOFTWARE\ODBC\ODBC.INI\CSGL" /v "LastUser" /t "REG_SZ" /d "sa" /f
    echo 系统数据库设置完成!
    echo.
      

  7.   

    啊,谢谢,我第一次问的就是自动附加的,没成功,后来才弄另一种的。用楼上的方法还是有问题,说是:未发现数据源名称,并且未指定默认驱动程序,我用的ADO也要弄数据源吗?