Visual FoxPro'da null değerleri kullanma

Bu makalede, Visual FoxPro komutlarında ve işlevlerinde null veri değerlerinin nasıl kullanılacağı açıklanmaktadır.

Orijinal ürün sürümü: Visual FoxPro
Özgün KB numarası: 130307

Özet

Visual FoxPro sürüm 3.0 null veri değerlerini destekler. FoxPro'nun 3.0 sürümünden önceki sürümleri null veri değerlerini doğrudan desteklemedi. Bu makalede, Visual FoxPro komutlarına veya işlevlerine geçirildiğinde null değerleri (olarak .NULL.temsil edilir) işlemek için Visual FoxPro'nun izlediği genel kurallar açıklanmaktadır.

Daha fazla bilgi

Eksik, ilgisiz veya bilinmeyen bir değer olduğunda null değer (.NULL.) değeri kullanın. FoxPro'nun önceki sürümlerinde bilinmeyen veya eksik olan değerler boşluk veya sıfırlarla gösterilirdi ve bu da yanlış yorumlanmış olabilir. Visual FoxPro ile artık bir alanda null değer depolayabilirsiniz.

Visual FoxPro'daki null değerin (.NULL.) boş, boş veya sıfır değeriyle aynı olmadığını unutmayın. Null değerin yokluğunu temsil eder, bu nedenle null hiçbir zaman başka bir değere eşit, ondan büyük veya daha küçük değildir, null veya null olmayan. Null değerler için Visual FoxPro desteği ANSI standartlarına uygundur ve ürünün değer ve ifadelerin kullanıldığı tüm alanları etkiler.

Null değerler için genel kurallar

Visual FoxPro komutlarına veya işlevlerine geçirilen null değerler için genel kurallar şunlardır:

  • Komutlar null geçirildiğinde hata oluşturur.

  • Null değerleri kabul eden işlevler sonuç olarak döndürülmektedir .NULL. .

  • Sayısal değer bekleyen işlevler null değerle birlikte verilirse hata oluşturur.

  • ISBLANK(), ISDIGIT(), ISLOWER(), , ISUPPER(), ISALPHA()ve EMPTY() her null değer geçirildiğinde false (.F.) döndürür.

  • ISNULL() null değer geçirildiğinde true (.T.) döndürür.

  • SQL ve SQL komutları INSERT , IS NULL ve SELECT IS NOT NULL yan tümceleri aracılığıyla null değerleri işler.

  • , ve gibi MAX()MIN()SQL Toplama işlevleri, SUM() toplamadaki tüm null değerleri yoksayar.

  • Sağlanan tüm değerler null değerlerse Visual FoxPro toplama işlevleri yayılır .NULL. , aksi takdirde tüm null değerler yoksayılır.

Bu makalenin geri kalanında bu genel kurallar için daha fazla bilgi ve örnekler verilmektedir.

Komutlar null geçirildiğinde hata oluşturur

Visual FoxPro komutu, bir eyleme neden olan bir deyimdir. Komutlara örnek olarak USE, BROWSEve DELETEverilebilir. Örneğin, USE komut bu kod için bir hata döndürür:

STORE .NULL. TO nWorkArea
USE mytable IN (nWorkArea)

Komutun USE IN yan tümcesi, bir sayısal veya alfa değeri bekliyor, bir hata geçirildiğinde .NULL.Tablo Numarası Geçersiz oluşturuldu.

İşlev, NVL() null değerlerin desteklenmediği veya ilgili olmadığı hesaplamalardan veya işlemlerden null değerleri kaldırmak için kullanılabilir.

STORE .NULL. TO nWorkArea
USE mytable IN NVL(nWorkArea,0)

Bu, kullanılabilir ilk çalışma alanında mytable'ı açar. İşlev hakkında daha fazla bilgi için Yardım dosyasına veya Visual FoxPro belgelerine NVL() bakın.

Null değerleri kabul eden işlevler döndürür. NULL. sonuç olarak

Visual FoxPro işlevi, belirli bir görevi gerçekleştiren ve sıfır veya daha fazla bağımsız değişken alan bir yordamdır. İşlevlere örnek olarak ISBLANK(), UPPER()ve SUBSTR()verilebilir. Çoğu Visual FoxPro işlevi, hata oluşturmadan bağımsız değişken olarak bir null değerin geçirilmesine izin verir, ancak işlevden bir .NULL. döndürülür. Başka bir deyişle, bir işleve null değer geçirdiğinizde sonuç her zaman null olur. Matematiksel denklemlerde null değerler de bu şekilde işlenir. Örneğin, 500'e eklenen null değer null'a eşittir ve sıfırla çarpılan null değer null'a eşittir (sıfır değil).

Aşağıdaki örnek kod döndürür .NULL.:

cLastName = "Johnson"
nBegin = 5
nExtract = .NULL.
?SUBSTR(cLastName,nBegin,nExtract)

Bu kuralın ISBLANK()özel durumları, her biri bir .F. değer döndüren , ISDIGIT()ISLOWER(), ISUPPER(), , ISALPHA()ve EMPTY() işlevleridir. ISNULL() işlevi bir .T. değer döndürür.

INSERT SQL ve SELECT SQL işlemi Null Değerleri, yeni yan tümceler kullanarak

İki yeni yan tümce (IS NULL ve IS NOT NULL), ve SELECT SQL komutlarındaki INSERT null değerleri işler. Örneğin, cLastName'in null olmadığı bir tablodaki tüm kayıtları bulmak için şu komutu kullanın:

SELECT cLastName FROM mytable WHERE cLastName IS NOT NULL

Null değerleri bulmak için IS NULL yan tümcesini kullanın.

SQL Toplama İşlevleri Null Değerleri Yoksayar

Toplama işlevi, bir değer grubunda (toplama) toplama, en düşük, en yüksek veya ortalama gibi sayısal bir işlem gerçekleştiren bir işlevdir. Toplama işlevlerine örnek olarak MAX(), MIN()ve SUM()verilebilir.

SELECT Örneğin SQL komutu, tablolardan sayısal değerleri almak için toplama işlevlerini kullanabilir. Örneğin, aşağıdaki SELECT komut adlı nYTDSalesalandan en büyük değeri döndürür:

SELECT MAX(nYTDSales) from mytable

Değerleri içeren .NULL. bir alanda gerçekleştirilen herhangi bir SQL toplama işlevi, değerleri yoksayar .NULL. ve null değerleri yok gibi değerlendiren bir sonuç döndürür (toplamanın parçası değildir).

Yukarıda açıklanan değer ve işlevler hakkında .NULL. daha fazla bilgi için Visual FoxPro Yardım dosyasında konuları arayın.