Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Borland dbExpress e MSSQL

    Buongiorno!!
    Oggi ho un nuovo problema...sto sempre lavorando sulla mia applicazione c++ con Borland C++ builder 6.0. Per ora il db è realizzato usando Borland Database engine ma visto che questo crea problemi nel momento in cui si crea l'applicativo ho pensato di passare a un db SQL server. Ho sostituito nell'applicazione i componenti BDE con componenti dbExpress li ho collegati a un db SQL server...quando pero testo la connessione tra il componente e il db ho questo errore:

    [DBNETLIB][ConnectionOpen(ParseConnectParams()).]Invalid connection

    Qualche idea?
    Grazie in anticipo.
    Buona giornata!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Sembra si tratti di un problema riguardante i parametri di connessione che hai specificato per collegarti al database SQL Server. Dovresti riportarli qui per capirne qualcosa di più...

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Grazie mille..
    ..al momento sono riuscita a fare il collegamento al db..adesso ho altri problemi.
    Quando eseguo il costruttore della form principale che contiene il componente TSQLConnection mi da un errore di access violation..

    __fastcall TMainForm::TMainForm(TComponent* Owner)
    : TForm(Owner)
    {
    DataSeparator = ',';
    DecimalSeparator = '.';
    StringChar = '"';
    Inizializza();
    }

    qualche idea?
    Ciao

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Devi riportare il contenuto di Inizializza, probabilmente il problema si trova lì.

    Suggerisco comunque di eseguire un debug passo passo per vedere il punto in cui l'eccezione viene generata.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    ok...ho fatto il debug e ho trovato dove viene generato l'errore..
    Nella creazione della form principale è compresa la creazione dinamica di una tabella nel db..
    Il codice è questo:

    //---------------------------------------------------------------------------
    __fastcall TMainForm::TMainForm(TComponent* Owner)
    : TForm(Owner)
    {
    DataSeparator = ',';
    DecimalSeparator = '.';
    StringChar = '"';
    Inizializza();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::Inizializza(void)
    {
    ListaAttributi = new TList;
    LBAttributi->Clear();
    LBValori->Clear();
    STNumAttributi->Caption = "";
    STNumValori->Caption = "";
    Salvaconnome1->Enabled = false;
    BitBtnCalcoloRegole->Enabled = false;
    BitBtnFiltraggio->Enabled = false;
    STNRecords->Caption = "";
    STNRegole->Caption = "";
    STLiftMin->Caption = "";
    STLiftMax->Caption = "";
    STLeverageMin->Caption = "";
    STLeverageMax->Caption = "";
    STConvictionMin->Caption = "";
    STConvictionMax->Caption = "";
    }
    //---------------------------------------------------------------------------
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::FormCreate(TObject *Sender)
    {
    CreaTabellaRegole2_1();
    }
    //---------------------------------------------------------------------------
    void __fastcall TMainForm::CreaTabellaRegole2_1(void)
    {
    TFieldDef *NewField;

    //Inizializzazione della tabella delle regole scartate
    TabellaRegole2_1->Active = false;
    //TabellaRegole2_1->DatabaseName = "MioDatabase";
    TabellaRegole2_1->TableName = "TabellaRegole2_1.db";
    //TabellaRegole2_1->TableType = ttDefault;
    TabellaRegole2_1->FieldDefs->Clear();

    //Inizializzazione dei campi della tabella delle regole scartate
    NewField = TabellaRegole2_1->FieldDefs->AddFieldDef();
    NewField->DataType = ftInteger;
    NewField->Name = "N. Regola";
    NewField = TabellaRegole2_1->FieldDefs->AddFieldDef();
    NewField->DataType = ftString;
    NewField->Name = "Antecedente1";
    NewField = TabellaRegole2_1->FieldDefs->AddFieldDef();
    NewField->DataType = ftString;
    NewField->Name = "Valore_Ant1";
    .
    .
    .
    //Creazione della tabella delle regole scartate
    TabellaRegole2_1->~TSQLTable();
    TabellaRegole2_1->DeleteRecords();
    }

    L'errore viene segnalato al momento dell'esecuzione di
    TabellaRegole2_1->DeleteRecords();
    e il motivo penso che sia perchè la tabella non viene creata..
    Perchè secondo te la tabella non viene creata?o meglio..secondo te dove sbaglio nella creazione dinamica della tabella?
    Grazie.
    Fra

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da Francesca80
    e il motivo penso che sia perchè la tabella non viene creata..
    Perchè secondo te la tabella non viene creata?o meglio..secondo te dove sbaglio nella creazione dinamica della tabella?
    Secondo me, non hai inserito la chiamata al metodo che permette di creare fisicamente la tabella (che se non sbaglio, si chiama CreateTable).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    Buongiorno!!
    Per i componenti TSQLTable di dbExpress il comando Createtable non esiste..il più simile che ho trovato (e che quindi dovrebbe creare una rabella dinamicamente) è ~TSQLTable() che ho già provato a mettere nel codice ma nulla..
    Grazie cmq..se hai qualche altra idea sarà ben accetta..
    Grazie,
    Fra

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    La piattaforma dbExpress è specifica per database di tipo SQL client/server; dai valori che hai specificato nelle proprietà, si direbbe che stai tentando di creare tabelle come file locali.

    Ad ogni modo, su database di questo tipo si creano tabelle eseguendo statement DDL, cioè statement codificati in un linguaggio apposito (e spesso, leggermente diverso da database a database) che permettono di definirne la struttura.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.