我现在有一个Mysql服务器,想通过Windows对其进行访问,我现在已经安装MYODBC,并已经添加了系统DSN。VC编程时没有找到mysql.h和libmySQL.lib,请高手给以指点迷津。谢谢!谢谢!谢谢!

解决方案 »

  1.   

    在mysql的安装目录下,你可以搜索*.lib文件,就能找到
      

  2.   

    楼主,用vc怎么连mysql能讲讲么,这段时间我也要做。谢谢了!
      

  3.   

    如果你使用libmysql.dll你应该不必安装myodbc吧?因为通过libmysql你可以直接访问mysql呀!
    至于你说的mysql.h,libmysql.lib和libmysql.dll都在mysql path\lib目录中,且还有一个例子程序可以参考!
    ps:mysql path指你mysql目录,比如你mysql在C盘,那就应该为c:\mysql\lib
      

  4.   

    MFC ADO 编程//在"stdafx.h"中 加入ADO支持库
    #import "c:\program files\common files\system\ado\msado15.dll" \
    no_namespace \
    rename ("EOF", "adoEOF")   //在APP初始化COM,创建ADO连接等操作
    AfxOleInit();
    m_pConnection.CreateInstance(__uuidof(Connection));
    char buf[200];
    注意:
    SQL Server 数据库的连接方式
    sprintf(buf,"Driver={SQL Server};Server=%s;Option=3;DATABASE=%s;UID=sa;PWD=%s;","192.168.1.217","2005DATA","80qq");//打开本地Access库Demo.mdb
    m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db9-6.mdb;Jet OLEDB:Database Password=***80;",
    "","",adModeUnknown);MYSQL  数据库的连接方式
    sprintf(buf,"Driver={MySQL ODBC 3.51 Driver};Server=%s;Port=3306;Option=3;DATABASE=%s;UID=root;PWD=%s;",m_hostname,m_datebase,m_pwd);

    //在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
    //因为它有时会经常出现一些想不到的错误
    try                 
    {
    m_pConnection->Open(buf,"","",adModeUnknown);
    //return TRUE;
    }
    catch(_com_error e)
    {
    AfxMessageBox("数据库连接失败!");
    return FALSE;
    }
    下面是我写的一个创建access数据库的函数代码,只要传一个access文件名过去就可以创建:
    HRESULT CreateAccessDatabase(LPCTSTR lpszPathName)
    {
    USES_CONVERSION;
    try
    {
    HRESULT hr;
    CLSID   clsid;
      CComPtr< IDBDataSourceAdmin >  m_spDataSourceAdmin; CDBPropSet dbinit(DBPROPSET_DBINIT); hr = CLSIDFromProgID(T2COLE("Microsoft.JET.OLEDB.4.0"), &clsid); if (FAILED(hr))
    return hr;
    m_spDataSourceAdmin.Release(); hr = CoCreateInstance( clsid ,NULL,CLSCTX_INPROC_SERVER, IID_IDBDataSourceAdmin,(void**)& m_spDataSourceAdmin );
    if( FAILED(hr))
    return hr;


    dbinit.AddProperty(DBPROP_INIT_DATASOURCE, T2OLE(lpszPathName)); hr = m_spDataSourceAdmin->CreateDataSource( 1, &dbinit, NULL, IID_ISourcesRowset,NULL );
    if( FAILED(hr) )
    return hr;
    m_spDataSourceAdmin.Release();
    }
    catch(_com_error e)///捕捉异常
    {
    CString errormessage;
    errormessage.Format("创建数据库失败!\r\n%s", (LPCTSTR)e.Description());
    AfxMessageBox(errormessage);///显示错误信息 return S_FALSE;
    }
    return S_OK;
    }
      

  5.   

    根本就可以不用MYODBC,直接用mysql++连接就行,[email protected]
      

  6.   

    为什么要找mysql.h
    用ADO就可以了。