MFC und datenbank (MySQL)



  • also ich hab dasd jetzt mal gezogen, was du da oben verlinkt hast, und hab es eingebunden. Wenn ich es jetzt ausführen will sagt ein immer cannot find databaselibodbcD.lib ist natürlich ein Fatal Linker Error. ich hab mal nachgeschaut und in dem was du mir geschickt hast gibt es nur databaselibodbc.lib aber laut der Header braucht mal databaselibodbc.lib und databaselibodbcD.lib mach ich was falsch oder fehlt da ne Datei?
    Die Instanz auf die Klasse und dann ein einfaches connect ist jetzt so, oder?

    CODBCDatabase m_databaseconnect; 
    
        if (m_databaseconnect.connected == false) 
        {
            switch (m_databaseconnect.connect("ACR")) 
            {
                case DB_CONNECTION_BAD: 
    			return false; 
                break; 
    
                case DB_CONNECTION_OK: 
                break; 
            } 
    
        }
    


  • Ist ein Fehler im Header.
    Du kannst im Header beide auf
    databaselibodbc.lib

    setzen.

    Wenn du eine Debug hast dann wird auch die
    databaselibodbc.lib genommen.
    Da es nicht OS ist wäre ich ja doof die DebugLib mitzugeben.

    Die Begrenzung der max. Spaltenlänge läßt sich abstellen. Ist aber nicht so einfach da VC++ 6 bzw. Net auch was kostet und für provate Entwickler sollte 255 Zeichen pro Spalte ausreichen.



  • Ich habe jetzt die DebugLib raus genommen, und stoße dann gleich auf das nächste Problem,

    unresolved external symbol "__declspec(dllimport) public: int __thiscall CODBCDatabase::connect(class CString)" (__imp_?connect@CODBCDatabase@@QAEHVCString@@@Z)

    was mach ich denn nu schon wieder falsch?
    Zu dem mit den 255 Zeichen, ist das in deiner Lib begrenzt? Oder nur durch meine Zuweisung an einen String, denn ich hab EEPROM Date, die ich in einem nicht kommerziellen Programm auslese, und die passen bei mir nicht in 255 Zeichen. Sonst hatte ich halt einfach CString test(2000); geschrieben, und schon hatte ich 2000 Zeichen frei!



  • du musst die lib dazulinken
    Was soll CString test(2000); bringen.
    Abgesehen davon das die Klasse CString einen String erwartet und ein INT einen Fehler verursacht.
    Die 255 Zeichen sind im Code begrenzt. Es werden nicht mehr ausgelesen.
    Ein Programm in einer Firma zu verwenden ist für mich kommerziell.
    Mit Nicht kommerziell meine ich private Projekte.



  • OK vergessen wir das ganze, ich greif ganz normal ohne deine DLL drauf zu und gut, ich dachte nur dass du dein Wissen in eine DLL packst und verbreitest, dass man sie auch verwenden kann. Wenn ich mir ein Programm für mich schreibe, und damit nun mal in ner Firma bin ist das nicht wirklich kommerziell genutzt! Ich will für mich ein kleines Programm um schnell mal Daten aus nem Server zu ziehen. Naja kann ich wohl nichts machen wenn du mir nicht helfen willst. Am besten lösch ich die Files auch gleich nicht dass das nachher noch ein kommerzieller Download oder etwas ähnliches war!

    P.S.: Ich habe alle Libs die mir zur Verfügung stehen gelinkt! Aber das spielt jetzt auch keine Rolle mehr



  • Brauchst nicht zickig werden.
    Ich habe mal die UNLIMITED hochgeladen.
    Ist für VC++ 6

    www.sensorme.de/dateien/odbc.zip



  • WOW vielen Dank! Hätte ich nach deinem letzten Post ehrlich nicht gedacht, desto mehr freut es mich jetzt diesen Post zu lesen. Vielen herzlichen Dank! Find ich echt klasse, und wie sieht es jetzt aus wenn ich mir ein Programm schreibe, das mir in meinem gewünschten Stil SQL Daten anzeigt? Ich nutze es in einem Betrieb; zwecks kommerzieller Nutzung? Darf ich oder nicht?

    Vielen Dank für deine Mühe.


Anmelden zum Antworten