# DB suche und eintragen



## PollerJava (27. Aug 2007)

Hallo,


ich habe eine Datenbank die mit folgenden Spalten folgendermaßen aufgebaut ist:


```
zeit1      zeit2        zeit3      Name     // zeit1, 2, 3 sind vom Typ Timestamp, Name ist vom Typ String
```


die Tabelle ist z.B.: so gefüllt:


```
2007-04-05 12:13:21.3221     <null>    <null>     test.hallo
```


Ich möchte jetzt nach der Zeile oben in der FireBird Datenbank suchen (nqach zeit1 und dem Namen) und z.B.: das Feld "zeit2" ausfüllen, sodass die Zeile dann so aussieht:





```
2007-04-05 12:13:21.3221    2007-08-01 19:13:21.3221    <null>     test.hallo
```


wie kann ich die Datenbank durchlaufen und ind der jeweiligen Zeile einen weiteren Eintrag setzen,

Vor allem das suchen in der DB und der SQL- Befehl sind mir nicht klar,

lg


----------



## NTB (27. Aug 2007)

```
UPDATE tabellenname SET zeit2='2007-08-01 19:13:21.3221' WHERE zeit1='2007-04-05 12:13:21.3221' AND name='test.hallo'
```

Die Erklärung hast Du selbst genannt:


> suchen (nqach zeit1 und dem Namen) und z.B.: das Feld "zeit2" ausfüllen



SQL baut sich meistens tatsächlich so auf, wie man es auch spricht.

Um SQL Grundlagen zu lernen, kannst Du mal www.sqlcourse.com besuchen.


----------



## jPat (27. Aug 2007)

select Spaltenname1, ... , Spaltenname n where bedingung

Die spaltennamen die du angibst bekommst du dann auch zurück.

bedingung ist eine bedingung, die wenn erfüllt die Spalte auswählt.

select zeit1,name where name=test.hallo

sollte dir eine Zeile wieder rausgeben. 
Test deine SQL statments in einem von der Datenbank bereitgestellten tool.


----------



## PollerJava (28. Aug 2007)

Ich müsste bei meiner Abfrage die Millisekunden aussparen:


```
WHERE zeit1='2007-04-05 12:13:21.****'
```

Kann ich das irgendwie machen???

lg


----------



## tuxedo (28. Aug 2007)

Substring kennst du, oder? Alternativ gibts noch weitere String verarbeitende Methoden. Auch auf SQL-Ebene lassen sich Strings "beschneiden".
Und es gibt noch n Dutzend weitere Möglichkeiten ein Datum formatiert auszugeben. 

Aber dazu müsste man eine (Forum-)Suche benutzen ...


----------



## PollerJava (28. Aug 2007)

OK, vielen Dank


Eine Frage hätte ich noch, und zwar habe ich die Tabelle wie oben angegeben, angelegt.

Meine Frage wäre jetzt, ob es möglich ist, alle Zeilen aus der Datenbank zu lesen, welche nicht vollständig ausgefüllt sind (oder anders geschrieben, wo eine <null> in der Zeile vorkommt,

Ist das möglich oder muss ich hergehen und das ganze ResultSet auslesen??

lg


----------



## jPat (28. Aug 2007)

Du kannst einfach eine select anweisung schreiben mit den bedingungen spate1 is null or spalte2 is null or ...


----------



## tuxedo (28. Aug 2007)

Ich will nicht unverschämt oder böse klingen: Aber hätte man mit ein wenig Hirnschmalz da nicht selbst drauf kommen können? 

Manchmal kommts mir hier im Forum so vor, als ob manche ihr Hirn beim Programmieren in die Schublade legen und andere (unser eins hier im Forum) die "Arbeit" machen lassen.


----------



## Holzfäller (28. Aug 2007)

alex0801 hat gesagt.:
			
		

> Manchmal kommts mir hier im Forum so vor, als ob manche ihr Hirn beim Programmieren und die Schublade legen und andere (unser eins hier im Forum) die "Arbeit" machen lassen.



Das nennt man in der OOP das Delegation-Prinzip :wink:


----------



## tuxedo (28. Aug 2007)

Naja, und wenn man dann sagt "Benutz doch bitte die Suche", wird man wohlmöglich auch noch angepflaumt. 

*gegen Delegationsprinzip bei der Problemlösung bin*


----------



## merlin2 (28. Aug 2007)

Ist aber praktisch und außerdem: Wenn jeder sein Gehirn vor dem Posten aus der Schublade holen würde, würde hier viel weniger geschrieben (und besagtes Gehirn würde sich abnutzen  ).  
*insgeheim auch fürs Denken sei*


----------



## tuxedo (28. Aug 2007)

Naja, ich sag ja gar nix wenn einer mit einem Problem daher kommt, beschreibt wie er XYZ schon probiert hat und dennoch nicht weiter kommt. 

Aber einfach ohne zu Denken und sich mit dem Problem zu beschäftigen und versuchen erstmal selbst auf ne Idee zu kommen, ist die schlimmste Art von Faulheit, finde ich.


----------

