Announcement

Collapse
No announcement yet.

Wer übersetzt mir den Delphi Code in BCB Code

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wer übersetzt mir den Delphi Code in BCB Code

    Hallo,

    ich habe hier einen Delphi Quelltext von Andreas Kosch, denn ich gerne in BCB Quellcode haben würde, komme aber nicht weiter. Kann mir jemand helfen:

    Hallo,
    mit Delphi 6.01 und dem MS SQL Server 2000 erhalte ich alle Datenbanken, nachdem ich die Zeile for i:= 1 to aMSDE.Databases.Count do geändert habe:


    procedure TForm1.Button1Click(Sender: TObject);
    var
    aMSDE : _SQLServer;
    i : integer;
    begin
    try
    ListBoxMSSQL.Items.Clear;
    aMSDE := CoSQLServer.Create;
    aMSDE.Connect('.','sa','');
    ListBoxMSSQL.Items.Add(Format('%d Datenbanken gefunden:',
    [aMSDE.Databases.Count]));
    for i:= 1 to aMSDE.Databases.Count do
    begin
    ListBoxMSSQL.Items.Add(Format('%d: %s',[i, aMSDE.Databases.ItemByID(i).Name]));
    end;
    finally
    aMSDE:=nil;
    end;
    end;

    Für die jenigen die es interessiert, der Code kommt von hier:

    <a href="/webx?50@@.ee8b8b1">Peter Crämer "ADO und MSSQL7: Nicht alle Datenbanken werden gefunden" 02.04.2002 15:41</a>

    Besten Dank für jede Hilfe

    Dermold

  • #2
    man könnte den Quelltext lesbarer machen, indem man diesen in ein PRE Tag einschließ
    Christian

    Comment


    • #3
      Okay,
      dann machen wir den text mal lesbarer

      <pre>
      procedure TForm1.Button1Click(Sender: TObject);
      var
      aMSDE : _SQLServer;
      i : integer;
      begin
      try
      ListBoxMSSQL.Items.Clear;
      aMSDE := CoSQLServer.Create;
      aMSDE.Connect('.','sa','');
      ListBoxMSSQL.Items.Add(Format('%d Datenbanken gefunden:',
      [aMSDE.Databases.Count]));
      for i:= 1 to aMSDE.Databases.Count do
      begin
      ListBoxMSSQL.Items.Add(Format('%d: %s',[i, aMSDE.Databases.ItemByID(i).Name]));
      end;
      finally
      aMSDE:=nil;
      end;
      end;
      </pre>

      dermol

      Comment


      • #4
        dermold,<br>
        auf Übersetzen habe ich keinen Bock.
        Aber eine Alternative würde ich anbieten wollen:
        <pre>
        String sql = "SELECT CAST (TABLE_NAME as varchar(50)) as Table FROM INFORMATION_SCHEMA.TABLES";
        TempQ->Close();
        TempQ->SQL->Text = sql;
        TempQ->Open();
        for (int i = 0; i < TempQ->RecordCount; i++)
        {
        String name = TempQ->FieldByName("Table")->AsString;
        //...
        RShipShopDM->TempQ->Next();
        }
        RShipShopDM->TempQ->Close();
        </pre>

        wobei TempQ natürlich irgend eine Query ist.

        Gruß,<br>
        Ja

        Comment


        • #5
          ups, Du willst ja die Datenbanken auslesen. Dann sieht das so aus:
          <pre>SELECT catalog_name FROM INFORMATION_SCHEMA.SCHEMATA</pre>
          Gruß,<br>
          Ja

          Comment


          • #6
            <PRE>

            void __fastcall TForm1::Button1Click(Sender *TObject)
            {
            _SQLServer *aMSDE;
            int i =0;
            AnsiString s;
            try
            {
            ListBoxMSSQL->Items->Clear();
            aMSDE = CoSQLServer->Create();
            aMSDE->Connect(".","sa","");
            s.printf( "%d Datenbanken gefunden:", aMSDE->Databases->Count );
            ListBoxMSSQL->Items->Add(s);
            for( i = 1; i < aMSDE->Databases->Count; i++ )
            {
            s.printf("%d: %s",i, aMSDE->Databases->ItemByID[i].Name);
            ListBoxMSSQL->Items->Add(s);
            }// for
            }
            __finally
            {
            aMSDE = NULL;
            }
            }

            Gruß Fred
            </PRE&gt

            Comment

            Working...
            X