# Garzi pe valori NULL (VFP)

Campurile din cursoarele intoarse de Oracle pot fi `.NULL.`. In VFP `EMPTY(.NULL.)` intoarce
`.F.`, deci o garda scrisa doar cu `EMPTY()` **nu prinde NULL**, iar concatenarea cu NULL face
tot sirul NULL (inclusiv un SQL construit prin `+`).

Forma corecta, cu tipul evaluat primul ca sa opreasca acolo:

```foxpro
If Type('tcCont') # 'C' Or Empty(Nvl(tcCont, ''))
	Return
Endif
```

- `Nvl(x, '')` in interiorul lui `Empty()`, nu `Isnull(x) Or Empty(x)`.
- `TYPE()` pe o variabila cu NULL de tip caracter intoarce tot `'C'` - nu tine loc de `Nvl`.
- Acelasi tratament la orice text construit prin `+` din campuri de cursor
  (SQL, mesaje, chei): un singur camp NULL anuleaza tot sirul.

Simptom tipic cand lipseste garda: `SQL statement parameter is required for non-prepared
SQLEXEC() calls` in `OEXECUTOR.OEXECUTE` - SQL-ul ajuns la `SQLEXEC` era `.NULL.`.
