mysql数据库安装好之后如何通过程序执行创建数据库,触发器等脚本?现在已经有mysql文件了,我怎么用VC写一个程序执行mysql文件呢?谢谢!

解决方案 »

  1.   

    直接用VC编写通过ADO操作数据库的程序,连接上MYSQL库后,执行相应的SQL语句即可..ADO操作数据库的资料参考:
    http://www.vckbase.com/document/viewdoc/?id=1215 
    http://www.vckbase.com/document/viewdoc/?id=610
      

  2.   

    TO  tabby好的,我去看看,谢谢!
      

  3.   

    你可以把执行Mysql的语句写成一个Bat,然后用VC执行bat。
      

  4.   

    mysql数据库安装好之后如何通过程序执行创建数据库,触发器等脚本?现在已经有创建数据库,触发器等mysql脚本文件了,我怎么用VC写一个程序执行这个mysql文件呢?谢谢 !!
      

  5.   

    你有SQL脚本文件了? 那你直接在程序中用API函数 WinExec 执行下面的命令就可以了..mysql -h localhost -u root -p123456 < d:\脚本.sql 
      

  6.   

    to tabby
    程序是没有错但是没有看到脚本里要创建的数据库和表啊?
    我的mysql是装在另一台机子上的。
    语句是这样的
    ::WinExec("mysql -h 168.192.112.10,-u root -p 123456 <C:\\Documents and Settings\\new.FOUNDER\\桌面\\安装文件\\NetSafe.SQL>",SW_SHOW);
      

  7.   

    ::WinExec("mysql -h168.192.112.10,-unsuser -pnsuser <D:\\test.SQL",SW_SHOW);
    改了一下写这样也不行?
    自己实在太菜了,
    要怎么写才能正确呢,谢谢!!
      

  8.   

    mysql -h 168.192.112.10, -u root -p 123456 <C:\\Documents and Settings\\new.FOUNDER\\桌面\\安装文件\\NetSafe.SQL-p后面写root用户的密码。。上面红色的逗号不要~
      

  9.   

    试过了上面的方法,不是没能解决,最后是一行一行读取来执行实现的代码如下:
    CADORecordset* pRs = new CADORecordset(&m_pDbConnect);

    CString strSql,strRead; BOOL  nouse = FALSE;
    CStdioFile  pFile;
       if(!pFile.Open(lpstrFileName,CFile::modeRead | CFile::typeBinary))
    {
    return FALSE;
    }
    strSql.Empty(); 
    while(pFile.ReadString(strRead))
    {
        _bstr_t bstr;
       ConvertUTF8toGB2312(strRead, bstr);
     if(!pRs->Open(bstr,CADORecordset::openUnknown))
         return FALSE;
    }
    }
    还是非常谢谢tabby;