AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Mein erstes Mal! Query mit SQL und Ads
Thema durchsuchen
Ansicht
Themen-Optionen

Mein erstes Mal! Query mit SQL und Ads

Ein Thema von mjank · begonnen am 5. Dez 2018 · letzter Beitrag vom 10. Dez 2018
Antwort Antwort
RSF

Registriert seit: 13. Mär 2008
156 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 5. Dez 2018, 14:48
Ich möchte bei der Suche die Menge an Datensätzen schrittweise reduzieren,
in dem ich nach und nach Bedingungen hinzufüge.

z.B.:
1. nur Projekte in Berlin (zu viele Datensätze)
2. nur Kunden die Meier heißen (nur noch wenige Datensätze)
usw.

Dazu sollen die jeweils übrig gebliebenen Datensätze im DBGrid angezeigt werden.
Muss ich das DBGrid dazu "aktualisieren"?
Das verbundene DBGrid aktualisiert sich selbst bei jeden AdsQuery1.open. ( wenn vorher AdsQuery1.close)
Ronald
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.457 Beiträge
 
Delphi 12 Athens
 
#2

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 5. Dez 2018, 15:13
Moin...
Wenn du schon anfängst...

besser:
Delphi-Quellcode:
AdsQuery1.Close; // imho nicht nötig
AdsQuery1.SQL.Text := 'SELECT * FROM "... richtiger Pfad sehr lang aber richtig ... " ORDER BY Bezeichnung';
// .Text setzt auch alle Parameter, wenn verwendet, zurück. SQL.Add nur wenn das SQL aus verscheidenen Teilen zusammengesetzt wird.
AdsQuery1.Open;
Immer mit SQL Parametern arbeiten.
Delphi-Quellcode:
AdsQuery1.Close; // imho nicht nötig
AdsQuery1.SQL.Text := 'SELECT * FROM TableXXX where SpalteX = %s ORDER BY Bezeichnung';
// .Text setzt auch alle Parameter, wenn verwendet, zurück. SQL.Add nur wenn das SQL aus verscheidenen Teilen zusammengesetzt wird.
AdsQuery1.ParamByName.AsString := 'Bedingung Wert';
AdsQuery1.Open;
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
685 Beiträge
 
Delphi 12 Athens
 
#3

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 5. Dez 2018, 15:17
Wie Ronald geschrieben hat, sollte sich das Grid selbständig aktualisieren. Hier einmal ein Testaufbau, jegliche Verknüpfung erfolgt zur besseren Darstellung in FormCreate (absichtlich alle Namen auf den automatisch vergebenen gelassen!):
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  AdsConnection1.AliasName := 'test';
  AdsConnection1.connect;
  AdsQuery1.AdsConnection := AdsConnection1;
  DataSource1.DataSet := AdsQuery1;
  DBGrid1.DataSource := DataSource1;
  DBNavigator1.DataSource := DataSource1;
end;
Ein Öffnen der Datenmenge kann zB durch einen Buttonklick erfolgen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  where: string;
begin
  AdsQuery1.Close;
  AdsQuery1.SQL.Text := 'select * from projekt';
  if Length(Edit1.Text)>0 then
    where:='(ort like :ort)';
  if length(Edit2.Text)>0 then begin
    if length(where)>0 then
      where := where+' AND ';
    where:= where+'(name like :name)';
  end;
  if length(where)>0 then
    AdsQuery1.sql.add('WHERE '+where);
  AdsQuery1.SQL.Add('order by bezeichnung');
  if AdsQuery1.Params.FindParam('ort')<>nil then
    AdsQuery1.ParamByName('ort').AsString := Edit1.Text+'%';
  if AdsQuery1.Params.FindParam('name')<>nil then
    AdsQuery1.ParamByName('name').AsString := Edit2.Text+'%';
  AdsQuery1.Open;
end;
Hier ein Edit1 der Ort und in Edit2 der Name.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
mjank

Registriert seit: 5. Dez 2018
12 Beiträge
 
#4

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 5. Dez 2018, 15:29
Danke für die viele schnelle Hilfe.
Ich muss jetzt mal schnell auf die Autobahn.
Bin zwei Tage zum Arbeiten weg.
Ich hoffe ich komme an Samstag dazu, weiter daran zu arbeiten.

Gebe dann Rückmeldung.
  Mit Zitat antworten Zitat
mjank

Registriert seit: 5. Dez 2018
12 Beiträge
 
#5

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 9. Dez 2018, 15:31
Folgendes habe ich mit der Erwartung versucht,
dass ich in meinem DBGrid nur noch die Spalte "Bezeichnung" habe.

Delphi-Quellcode:
  AdsQuery1.Close;
  AdsQuery1.SQL.Text := 'SELECT Bezeichnung FROM "C:\Projekte\Delphi\Sicotronic\Projekte\Daten\DB_Projekte.ADT"';
  AdsQuery1.Open;
Leider passierte nichts, nichtmal eine Fehlermeldung.

Ich habe in der Form "frm_Hauptform" eine AdsConnection "AdsConnection_Daten",
eine AdSTable "DB_Projekte" und eine DataSource "DS_Projekte".
Was muss ich ansprechen, wenn ich meinen String "C:\Projekte..." ersetzen will.
Ich habe es mit folgendem Code versucht:

Delphi-Quellcode:
  AdsQuery1.Close;
  AdsQuery1.SQL.Text := 'SELECT * FROM frm_Hauptform.DB_Projekte';
  AdsQuery1.Open;
Dies löst leider eine Exception aus.
Zitat:
... The requested objekt was not found. frm_Hauptform - link object is not supported on free connection. Table name: DB_Projekte' aufgetreten.
Ich hoffe, ihr hapt noch einen Tip für mich.
  Mit Zitat antworten Zitat
Heuman
(Gast)

n/a Beiträge
 
#6

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 9. Dez 2018, 17:07
Folgendes habe ich mit der Erwartung versucht,
dass ich in meinem DBGrid nur noch die Spalte "Bezeichnung" habe.

Delphi-Quellcode:
  AdsQuery1.Close;
  AdsQuery1.SQL.Text := 'SELECT Bezeichnung FROM "C:\Projekte\Delphi\Sicotronic\Projekte\Daten\DB_Projekte.ADT"';
  AdsQuery1.Open;
Leider passierte nichts, nichtmal eine Fehlermeldung.

Ich habe in der Form "frm_Hauptform" eine AdsConnection "AdsConnection_Daten",
eine AdSTable "DB_Projekte" und eine DataSource "DS_Projekte".
Was muss ich ansprechen, wenn ich meinen String "C:\Projekte..." ersetzen will.
Ich habe es mit folgendem Code versucht:

Delphi-Quellcode:
  AdsQuery1.Close;
  AdsQuery1.SQL.Text := 'SELECT * FROM frm_Hauptform.DB_Projekte';
  AdsQuery1.Open;
Dies löst leider eine Exception aus.
Zitat:
... The requested objekt was not found. frm_Hauptform - link object is not supported on free connection. Table name: DB_Projekte' aufgetreten.
Ich hoffe, ihr hapt noch einen Tip für mich.

Hallo,

AdsQuery1.SQL.Text := 'SELECT * FROM DB_Projekte';

sollte funktionieren.

Gruß
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
685 Beiträge
 
Delphi 12 Athens
 
#7

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 9. Dez 2018, 19:23
Ich glaube, das fehlt es schon an den Grundlagen. Normalerweise mache ich ungern Eigenwerbung, aber das könnte was für Dich sein:
http://www.lulu.com/shop/joachim-due...-20385058.html.
Mit zusätzlichen Themen, allerdings auf Basis ADS 9:
http://www.lulu.com/shop/joachim-d%C...-17462909.html
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
mjank

Registriert seit: 5. Dez 2018
12 Beiträge
 
#8

AW: Mein erstes Mal! Query mit SQL und Ads

  Alt 10. Dez 2018, 05:30
Sehr geehrter Herr Dürr,

wer hier kostenlos und so schnell hilft, dem sei auch Eigenwerbung gestattet.
Die Bücher werde ich mir gern ansehen. Ist das erste auf Englisch?

Auch mit den fehlenden Grundlagen muss ich Ihnen leider recht geben.
Ich programmiere in reiner Notwehr.
Wir hatten früher dafür zwei Programmierer sitzen, deshalb ist Delphi bei uns da.

Ich habe es wie folgt versucht:

Delphi-Quellcode:
  AdsQuery1.Close;
  AdsQuery1.SQL.Text := 'SELECT Bezeichnung FROM DB_Projekte';
  AdsQuery1.Open;
Dies führt dazu, das ich keine Fehlermeldung mehr bekomme,
aber leider auch zu keine Reaktion im DBGrid.

Warum ich vor "DB_Projekte" das "frm_Hauptform." weglassen darf,
obwohl es in einer anderen Form liegt, habe ich zwar noch nicht verstanden,
aber wenn es so richtig ist, dann ist es eben so.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 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-2025 by Thomas Breitkreuz