Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Tabelle in Programm laden (https://www.delphipraxis.net/156168-tabelle-programm-laden.html)

t0mmy 22. Nov 2010 17:37

Datenbank: Microsoft SQL • Version: 2005 • Zugriff über: ADO

Tabelle in Programm laden
 
Hallo

Wie kann ich in meinem Delphi Programm eine Tabelle aus einer Datenbak von einer MS SQL Datenbank 2005 darstellen.
Ich habs probiert folgenden 3 Steuerelementen probiert: TDataSource, TADOTable und TDBGrid.

1. Bei DataSource1 habe ich bei Events-->DataSet = ADOTable1 eingestellt.
2. Und bei DBGrid1 habe ich bei Events-->DataSource = DataSource1 eingestellt.


Dann bin ich auf ADOTable1 unter Properties-->ConnectionString gegangen und hab bei Use Connection String auf Build.
Einstellungsschritte: Microsoft OLE DB Provider for SQL Server dann auf Weiter und dort alles ausgefüllt mit meinem 2 Rechner im Netzwerk.

Aber wie ich dann auf Verbindung testen gegangen bin kam dann ein unbekannter Fehler

Bernhard Geyer 22. Nov 2010 17:46

AW: Tabelle in Programm laden
 
Zitat:

Zitat von t0mmy (Beitrag 1063316)
Aber wie ich dann auf Verbindung testen gegangen bin kam dann ein unbekannter Fehler

Für uns ist diesr auch unbekannt. Oder ist das der genaue Wortlaut der Fehlermeldung?

Auch ja. Auch schön den SQL-Server auf dem 2ten Rechner konfiguriert das dieser per TCP/Ip mit anderen Rechnern kontakt aufnehmen kann? Und auch die Firewall so konfiguriert das der Server rauskommt (bzw. Verbindungsanfragen durchkommen)?

Sir Rufo 22. Nov 2010 18:16

AW: Tabelle in Programm laden
 
Hast du schon ausprobiert, ob du mit dem SQL ManagementStudio von dem Rechner auf den SQl-Server zugreifen kannst?
Ist die Verbindung zum SQL-Server via TCP erlaubt?
Ist da vielleicht eine Firewall auf dem Rechner im Weg?

Es sieht eher nach einem Problem ausserhalb von Delphi aus ...

t0mmy 30. Nov 2010 09:02

AW: Tabelle in Programm laden
 
Okay nach langem rumprobieren hats endlich funktioniert. Sir Rufo.. du hattest recht mit den TCP einstellungen.
Jetzt hab ich halt nur folgendes Problem, das ich nicht weiss wie ich eine Tabelle aus der Datenbank in DBGrid lade?

Bummi 30. Nov 2010 10:33

AW: Tabelle in Programm laden
 
AdoConnection>>Adodataset>>Datasource>>DBGrid ??

t0mmy 6. Dez 2010 15:17

AW: Tabelle in Programm laden
 
Wie meinst du das?

DeddyH 6. Dez 2010 15:19

AW: Tabelle in Programm laden
 
Na, in der Reihenfolge verknüpfen (im OI): Dataset mit der Connection, Datasource mit dem Dataset und zuletzt das Grid mit der Datasource.

t0mmy 6. Dez 2010 17:16

AW: Tabelle in Programm laden
 
Okay, die Verknüpfungen haben alle bis auf die mit DataSet und ADOConnection funktioniert.. Bei DataSet --> im Object Inspector--> wird bei DataSource die ADOConnection nicht angezeigt :(

t0mmy 6. Dez 2010 17:19

AW: Tabelle in Programm laden
 
sry hab doch funktioniert, aber nicht unter DataSource sondern unter Connection

DeddyH 6. Dez 2010 17:19

AW: Tabelle in Programm laden
 
Dataset.Connection auf die ADOConnection, Datasource.Dataset auf das ADODataset und DBGrid.Datasource auf die Datasource setzen.

t0mmy 7. Dez 2010 11:20

AW: Tabelle in Programm laden
 
trotzdem sehe ich in meiner DBGrid nichts

DeddyH 7. Dez 2010 11:27

AW: Tabelle in Programm laden
 
Ist denn auch alles auf Connected/Active/Enabled gesetzt?

t0mmy 7. Dez 2010 12:09

AW: Tabelle in Programm laden
 
ja is.. :(

DeddyH 7. Dez 2010 12:10

AW: Tabelle in Programm laden
 
Vielleicht postest Du am Besten einmal die *.dfm im Textformat, evtl. sieht man da mehr.

t0mmy 13. Dez 2010 13:51

AW: Tabelle in Programm laden
 
Okay hier die .dfm:

Delphi-Quellcode:
object Form1: TForm1
  Left = 132
  Top = 48
  BorderIcons = [biSystemMenu, biMinimize]
  BorderStyle = bsSingle
  Caption = 'AFSS (Automatic Filesharing System)'
  ClientHeight = 558
  ClientWidth = 1148
  Color = clWindow
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  Menu = menu
  OldCreateOrder = False
  Position = poScreenCenter
  PixelsPerInch = 96
  TextHeight = 13
  object DBGrid1: TDBGrid
    Left = 936
    Top = 136
    Width = 249
    Height = 225
    DataSource = DataSource1
    TabOrder = 0
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'MS Sans Serif'
    TitleFont.Style = []
    Columns = <
      item
        Expanded = False
        Visible = True
      end>
  end
  object PageControl1: TPageControl
    Left = 32
    Top = 0
    Width = 873
    Height = 425
    ActivePage = TabSheet1
    TabOrder = 1
    object TabSheet1: TTabSheet
      Caption = 'Office'
      object lblwnumber: TLabel
        Left = 48
        Top = 24
        Width = 85
        Height = 16
        Caption = 'Würthnummer:'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -13
        Font.Name = 'MS Sans Serif'
        Font.Style = []
        ParentFont = False
      end
      object lblpfad: TLabel
        Left = 48
        Top = 72
        Width = 31
        Height = 16
        Caption = 'Pfad:'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -13
        Font.Name = 'MS Sans Serif'
        Font.Style = []
        ParentFont = False
      end
      object lblStueckliste: TLabel
        Left = 528
        Top = 264
        Width = 78
        Height = 24
        Caption = 'Stückliste'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -20
        Font.Name = 'MS Sans Serif'
        Font.Style = []
        ParentFont = False
      end
      object lblLieferschein: TLabel
        Left = 528
        Top = 328
        Width = 102
        Height = 24
        Caption = 'Lieferschein'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -20
        Font.Name = 'MS Sans Serif'
        Font.Style = []
        ParentFont = False
      end
      object lblZukauf: TLabel
        Left = 528
        Top = 296
        Width = 89
        Height = 24
        Caption = 'Zukaufliste'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -20
        Font.Name = 'MS Sans Serif'
        Font.Style = []
        ParentFont = False
      end
      object lblanumber: TLabel
        Left = 48
        Top = 128
        Width = 100
        Height = 16
        Caption = 'Auftragsnummer:'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -13
        Font.Name = 'MS Sans Serif'
        Font.Style = []
        ParentFont = False
      end
      object lblLieferanschrift: TLabel
        Left = 48
        Top = 200
        Width = 63
        Height = 13
        Caption = 'Lieferadresse'
      end
      object wnumber: TEdit
        Left = 48
        Top = 40
        Width = 225
        Height = 21
        TabOrder = 0
        OnKeyPress = wnumberKeyPress
      end
      object btnconnect: TButton
        Left = 288
        Top = 40
        Width = 89
        Height = 25
        Caption = 'Pfad zuweisen'
        TabOrder = 1
        OnClick = btnconnectClick
      end
      object setpfad: TEdit
        Left = 48
        Top = 88
        Width = 225
        Height = 21
        TabOrder = 2
      end
      object btnchange: TButton
        Left = 288
        Top = 88
        Width = 89
        Height = 25
        Caption = 'Ändern'
        TabOrder = 3
        OnClick = btnchangeClick
      end
      object btnLshow: TButton
        Left = 648
        Top = 328
        Width = 81
        Height = 25
        Caption = 'Anzeigen'
        TabOrder = 4
      end
      object btnLprint: TButton
        Left = 736
        Top = 328
        Width = 81
        Height = 25
        Caption = 'Drucken'
        TabOrder = 5
      end
      object btnSshow: TButton
        Left = 648
        Top = 264
        Width = 81
        Height = 25
        Caption = 'Anzeigen'
        TabOrder = 6
      end
      object btnSprint: TButton
        Left = 736
        Top = 264
        Width = 81
        Height = 25
        Caption = 'Drucken'
        TabOrder = 7
      end
      object btnZshow: TButton
        Left = 648
        Top = 296
        Width = 81
        Height = 25
        Caption = 'Anzeigen'
        TabOrder = 8
      end
      object btnZprint: TButton
        Left = 736
        Top = 296
        Width = 81
        Height = 25
        Caption = 'Drucken'
        TabOrder = 9
      end
      object anumber: TEdit
        Left = 48
        Top = 152
        Width = 105
        Height = 21
        TabOrder = 10
      end
      object Button1: TButton
        Left = 280
        Top = 224
        Width = 75
        Height = 25
        Caption = 'Button1'
        TabOrder = 11
        OnClick = Button1Click
      end
    end
    object TabSheet2: TTabSheet
      Caption = 'Workshop'
      ImageIndex = 1
      object Label1: TLabel
        Left = 80
        Top = 261
        Width = 65
        Height = 16
        Caption = 'Scancode:'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clWindowText
        Font.Height = -13
        Font.Name = 'MS Sans Serif'
        Font.Style = []
        ParentFont = False
      end
      object btnscan: TButton
        Left = 280
        Top = 252
        Width = 89
        Height = 25
        Caption = 'Scan'
        TabOrder = 0
        OnClick = btnscanClick
      end
      object editscan: TEdit
        Left = 152
        Top = 256
        Width = 113
        Height = 21
        TabOrder = 1
        OnKeyPress = editscanKeyPress
      end
    end
  end
  object DBNavigator1: TDBNavigator
    Left = 976
    Top = 384
    Width = 200
    Height = 49
    DataSource = DataSource1
    TabOrder = 2
  end
  object menu: TMainMenu
    object Datei1: TMenuItem
      Caption = 'Datei'
      object BenutzerRegistrieren1: TMenuItem
        Caption = 'Benutzer anlegen'
      end
      object Abmelden1: TMenuItem
        Caption = 'Abmelden'
      end
      object Beenden1: TMenuItem
        Caption = 'Beenden'
        OnClick = Beenden1Click
      end
    end
    object Hilfe1: TMenuItem
      Caption = 'Hilfe'
    end
  end
  object ADOTable1: TADOTable
    CursorType = ctStatic
    TableName = 'IDBPURCH'
    Left = 1160
    Top = 8
    object ADOTable1ID: TWideStringField
      FieldName = 'ID'
      ReadOnly = True
      Size = 16
    end
  end
  object ADOConnection1: TADOConnection
    ConnectionTimeout = 5
    Provider = 'SQLOLEDB.1'
    Left = 984
    Top = 40
  end
  object ADODataSet1: TADODataSet
    CacheSize = 10
    Connection = ADOConnection1
    CursorType = ctStatic
    Parameters = <>
    Left = 1056
    Top = 40
  end
  object DataSource1: TDataSource
    DataSet = ADODataSet1
    Left = 984
    Top = 88
  end
end

DeddyH 13. Dez 2010 13:58

AW: Tabelle in Programm laden
 
Steht denn im CommandText des Datasets etwas drin? Oder was geschieht, wenn Du der Datasource die ADOTable als Dataset zuweist?

t0mmy 13. Dez 2010 15:37

AW: Tabelle in Programm laden
 
ja.. da hab ich eingestellt select "Spalte" from "Tabelle" trotzdem wird mir die Spalte nicht aufgelistet..zwar werden die Zeile erstellt aber es steht nichts in den Zellen drin
:(

t0mmy 13. Dez 2010 15:52

AW: Tabelle in Programm laden
 
ne andere Frage zwischendurch.. wie kann ich abprüfen ob die Logindaten die ich ADOConnection.ConnectionString über edit felder eingebe richtig sind.. weil ich bekomm nur nen fehler von delphi

hat sich schon erledigt


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz