Új hozzászólás Aktív témák

  • Begin

    csendes tag

    Hatalmas problémám támadt!
    Van egy *.mdb kiterjesztésű adatbázisom, amelyet Visual Studio 2008-ban szeretnék kezelni. Ehez a C++ nyelvet használom, de míg C#-ban tudom csatlakoztatni a táblámat, addig C++ egyáltalán nem sikerül, egyszerűen hiányzik "Database" pont a "DataGridView"-ben "Add Data Source..."-nél.
    Sajnos C#-ban nem tudom folytatni a munkám, mert már igen belefogtam C++-ban, és sajonos C#-hoz egyáltalán nem konyítok. Néztem pár bejegyzést a témában, de megoldást nem találtam.

    Ha nem tud senki tanácsot adni, megfelelő lenne bármilyen másik megoldás is, csak sajonos az SQL serverekhez nem igazán értek, bár a nyelvet ismerem, de csak annyira amennyiben Visual FoxPro-ban szükséges. Talán ezért is tökéletes lenne ha lenne valami megoldás akár *.dbf fájlok kezelésére is. Fontos lenne számomra, hogy a kész programom egy másik számítógépen való futtatásakor a felhasználónak ne keljen semmi egyéb programot telepítenie az én programomon kívűl, mivel az alkalmazásom gyengéb informatikai tudásuakhoz szól elsősorban.

    Ennyire jutottam:

    Első lépés OleDbConnection:
    http://www.connectionstrings.com/access-2007 oldalon, ha jól fordítom, és gondolom nekem ".NET Framework Data Provider for OLE DB"-re van szükségem ennek a kódja:

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;

    Lehet ez valami nagyon alap dolog, de ezzel mit csináljak? Készítettem egy headert, és belepakoltam egy classba, de rögtön 28 errort dobot. Egész délután szórakoztam vele, de eddig semmi előrelépés.

    Ezen felül böngésztem neten és ilyenekkel próbálkoztam:

    #using <mscorlib.dll>
    #using <System.Data.dll>
    using namespace System;
    using namespace System::Data;
    using namespace System::Data::OleDb;
    #include "stdafx.h"

    majd, elvileg ez lenne a connection string?

    OleDbConnection * conn = new OleDbConnection();
    conn->ConnectionString = S "Provider=Microsoft.Jet.OLEBD.4.0; "
    S"Data Source=C:\my_databases\taxLots.mdb";

    Ezt a Form1 load eseményéhez raktam, de olyan hibákat dob, hogy S nincs deklarálva, meg nem lehet használni new és gcnew-t...

    Nos gondolom ebbe használhatom, www.connectionstrings.com oldalon található connection stringet, de ebben a példában *.mdb van míg azon *.accdb, feltételezem, hogy ez semmi különbséget nem jelent, hiszen mindkettő Accesses fájlformátum.

    void CreateOleDbConnection()
    {
    String* myConnString = S"Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI;";
    OleDbConnection* myConnection = new OleDbConnection(myConnString);
    myConnection->Open();
    MessageBox::Show(String::Format( S"ServerVersion: {0}\nDataSource: {1}", myConnection->ServerVersion, myConnection->DataSource ));
    myConnection->Close();
    }

    Egy ilyet is találtam msdn-en, gondolom ezt:

    S"Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI

    át kell írni a connection stringmre, de akkor is dobálja a hibákat...

    Elég fusztráló, hogy nem értem, hogy mit miért csinálok, csak a kódokat másolgatom ki be, de már rengeteg időt rááldoztam!

    Hogy módosítsam a kódot, hogy működésre bírjam?

Új hozzászólás Aktív témák