AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi SQL Fehler, war zuvor nicht da, seid ??? vorhanden.
Thema durchsuchen
Ansicht
Themen-Optionen

SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

Ein Thema von Jens Hartmann · begonnen am 3. Sep 2009 · letzter Beitrag vom 9. Sep 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#11

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 3. Sep 2009, 16:58
Zitat von Sherlock:
OT: Alter, mal im Ernst. Sowas darf eigentlich nicht passieren.
Da hast du völlig recht. Problem, war das ich diese Hardwarekomponente nicht zur Verfügung hatte und somit nicht prüfen konnte. Dann kam heute morgen aber der Stress.

Aber, dafür gibt es ja die DP. Deshalb nochmal danke.

MFG

Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 3. Sep 2009, 22:13
Hallo,

Zitat:
Problem, war das ich diese Hardwarekomponente nicht zur Verfügung hatte
Ausrede !!!!

aber im Ernst.
Was hat denn eine Hardware-Komponente mit einem SQL-Zugriff zu tun ?

Keine ausreichenden Unit-Tests ?


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#13

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 8. Sep 2009, 22:47
Zitat von hoika:
Ausrede !!!!

aber im Ernst.
Was hat denn eine Hardware-Komponente mit einem SQL-Zugriff zu tun ?
Da hast Du ja recht, die Hardwarekomponente hat damit nichts zu tun. Aber das Problem ist, das die Daten, die in diese Tabelle eingefügt werden, von dieser Hardware erzeugt werden und über die COM-Schnittstelle eingelesen werden.

Daher, konnt ich das ja ohne Hardware schlecht testen.

Um diesen Test durchzuführen, müsste ich also einen Datensatz habe, welchen ich dann über eine z.B. Testfunktion in die DB einlese. Da ich das aber bis jetzt ncoh nicht gemacht habe, kann ich momentan das eintragen in diese Tabelle nur mit Hardware testen.

Ich hoffe auf Verständis.


Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#14

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 8. Sep 2009, 23:17
Falls du noch länger mit dem Programm zu tun hast, dann erstell dir doch eine Weiche.

Also da wo auf den COM-Port zugegriffen wird, könntest du stattdessen auf eine Pipe oder eventuell auch eine Datei (wenn nur gelesen wird) umschalten und dir so, auch ohne Hardware, Testdaten ins Programm einscheußen.

Man könnte auch eine ganze Komponente gegen eine Dummy-Komponente austeuschen.
> z.B. die COM-Port-Komponente
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#15

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 9. Sep 2009, 06:27
Danke,

da bin ich jetzt dran am überlegen. Ich denke das ich mit einer Textdatei zurecht kommen, die wie meine Datensatz aufgebaut ist. Allerdings überlege ich noch wie man das am Sinnvollsten realisieren kann. Mache ich mir da einen nicht sichbaren Button auf meine Anwendung, welcher dieses einlesen durchführt?

oder, vieleicht ein Label oder so...

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#16

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 9. Sep 2009, 08:16
Zitat von himitsu:
Also da wo auf den COM-Port zugegriffen wird, könntest du stattdessen auf eine Pipe oder eventuell auch eine Datei (wenn nur gelesen wird) umschalten und dir so, auch ohne Hardware, Testdaten ins Programm einscheußen.
Ich benutzte an solcher Stelle "echte Hardware". Ich simuliere Sensoren mit einem ATMega32. Das liegt daran dass die echte Hardware manchmal ein äußerst merkwürdiges zeitliches Verhalten hat, das mit lesen von Daten aus einem File kaum zu simulieren ist.
Wie könnte man sowas rein Softwaremässig simulieren?

@Jens: Genau deswegen ist die "Knopf-Methode" eher schlecht - außer es geht wirklich nur um die Datenbank.

Gruss
wo
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: SQL Fehler, war zuvor nicht da, seid ??? vorhanden.

  Alt 9. Sep 2009, 08:17
Hallo,

der Fach-Begriff dafür heisst Mock-Objekt.

Wie das das umsetzt, hängt von deinen Wünschen ab.

Z.B. könnte man eine Boolean-Variable nehmen (bMock).

Ein Bsp. für einen DB-Zugriff, bei dem die DB auch nicht vorhanden ist
(ähnlich wie diene Hardware).


Delphi-Quellcode:
type
  TClass = class
    bMock: Boolean;
  end;

function CreateClass(bMock: Boolean = False): TClass;
var
  MyClass: TClass;
begin
  MyClass:= TClass.Create;
  MyClass.bMock:= bMock;
  Result:= MyClass;
end;


procedure TClass.ReadFromDB;
begin
  if not bMock then
  begin
   // normaler Zugriff
  end
  else
  begin
  // lese aus Textdatei
  end;
end;
Ja, ich weiss, dass ist nicht genau ein Mock-Objekt (das wäre ein eigenes Objekt),
aber man ist ja faul.

Beim Erzeugen der Klasse kann eine Boolean-Variable übergehen werden,
dann reagiert sie anders bei den internen methoden.

Auch Compilerschalter sind denkar.
{$DEFINE MOCK} {$IFDEF MOCK}

Mache ich aber nicht gern, weil man immer alles neu compilieren muss
bei einer Änderung.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 21:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz