VB3 Sorun: Error, değişken için DB değer ata: null kullanımı geçersiz

Makale çevirileri Makale çevirileri
Makale numarası: 113032 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Bir değişken veya denetim için bir veritabanı boş bir alanında bulunan veri atama "Geçersiz Kullan'ın boş" hata iletisi alıyorsunuz olasıdır. Bu makalede, neden bu hata oluşur ve çevresinde nasıl açıklanmaktadır.

Neden

Variant veri türü, çok çeşitli veri tutabilir. Boş olabilir veya boş. Empty ve null ayırt önemlidir. Boş bir türevi başlatıldı, ancak boş bir türevi, geçerli veri içerir.

Boş bir türevi için dönüştürülmüş bir dizeye atandığında, "". Boş bir türevi için sayısal atandığında, 0'a dönüşür. Bir dize veya sayısal atanamaz; böylece null değişkeni, geçerli veri, diğer yandan yok. Boş bir türevi atama çalışılırken "Geçersiz Kullan'ın boş" hata üretir. Aşağıdaki örnekte, bu davranışı gösterir.
   Dim a as Variant
   Dim b as Integer
   a = Null
   b = a
				
Bazı özellikleri, işlevleri ve yöntemleri de null dönün. Null işlevi bir belirgin örnektir. "Geçersiz Kullan'ın boş" hatanın oluşmaması için <a0></a0>, bir işlev veya boş bir dize veya sayısal döndüren bir yöntem atamayın. Bu davranış aşağıdaki örnekte gösterilmiştir:
   Dim b as Integer
   b = Null
				
"Geçersiz Kullan'ın boş" hata değeri bir dize veya sayısal bir denetimin özelliğine atarken da oluşabilir. Bir metin kutusunun <a1>metin</a1> özelliğini bir dize özelliğidir. Aşağıdaki örnek, "Geçersiz Kullan'ın boş" hata içeren bir metin kutusu nasıl oluşabilir gösterir.
   Text1.Text = Null
				
De veritabanı programlamada, "Geçersiz Kullan'ın boş" hata bir alanın değerini, bir metin kutusuna atarken alabilirsiniz. Bu, alanı geçerli veri içeriyorsa, value özelliği boş döndürdüğü için oluşur. Bu gösteren bir örnek aşağıdadır:

  1. Yeni bir proje için Visual Basic'te başlatın. Varsayılan olarak, Form1 oluşturulur.
  2. Forma, veri denetimini (Veri1) ve (Metin1) bir <a0>metin kutusu ekleyin.
  3. Form_Load olay için aşağıdaki kodu ekleyin:
       Sub Form_Load()
          Data1.DatabaseName = "C:\VB\BIBLIO.MDB"
          Data1.RecordSource = "Authors"
          Data1.Refresh
          Data1.Recordset.AddNew
          Data1.Recordset.Update
          Data1.Recordset.Bookmark = Data1.Recordset.LastModified
          Text1.Text = Data1.Recordset("Author")
       End Sub
    						
  4. Programı çalıştırın.

Pratik Çözüm

Visual Basic hata geçici için iki düzenek sağlar.

  • IsNull() işlevi yöntemi.
  • Ve işareti (&) birleştirme yöntemi.

IsNull() işlev yöntemi

IsNull() işlevini NULL algılamasını sağlar. Aşağıda, bir veritabanı programında IsNull() nasıl kullanabilirsiniz:

  1. Yeni bir proje için Visual Basic'te başlatın. Varsayılan olarak, Form1 oluşturulur.
  2. Forma, veri denetimini (Veri1) ve (Metin1) bir <a0>metin kutusu ekleyin.
  3. Form_Load olay için aşağıdaki kodu ekleyin:
       Sub Form_Load()
          Data1.DatabaseName = "C:\VB\BIBLIO.MDB"
          Data1.RecordSource = "Authors"
          Data1.Refresh
          Data1.Recordset.AddNew
          Data1.Recordset.Update
          Data1.Recordset.Bookmark = Data1.Recordset.LastModified
          If IsNull(Data1.RecordSet("Author")) Then
             Text1.Text=""
          Else
             Text1.Text = Data1.Recordset("Author")
          End If
       End Sub
    						
  4. Programı çalıştırın.

Ve işareti (&) bitiştirme yöntemi

Visual Basic'ın dize birleştirme işleci--ampersanı (&) yararlanmak için başka bir yöntem var. Bir birleştirme bir birleştirme fonksiyonundaki bağımsız değişkenlerin biri geçerli değil diğer boş ise, null değerine dönüştürülür "". Değerleri, atama için NULL döndürebilir, bu davranış, yararlanabilirsiniz. Geçerli bir dize null döndüren bir değer ile bitiştirmek sonucu her zaman geçerli bir dize olacaktır. Işte kullanımı, birleştirme dize bir örnek:
  1. Yeni bir proje için Visual Basic'te başlatın. Varsayılan olarak, Form1 oluşturulur.
  2. Forma, veri denetimini (Veri1) ve (Metin1) bir <a0>metin kutusu ekleyin.
  3. Form_Load olay için aşağıdaki kodu ekleyin:
       Sub Form_Load()
          Data1.DatabaseName = "C:\VB\BIBLIO.MDB"
          Data1.RecordSource = "Authors"
          Data1.Refresh
          Data1.Recordset.AddNew
          Data1.Recordset.Update
          Data1.Recordset.Bookmark = Data1.Recordset.LastModified
          Text1.Text = "" & Data1.Recordset("Author")
       End Sub
    						
  4. Programı çalıştırın.

Özellikler

Makale numarası: 113032 - Last Review: 3 Şubat 2014 Pazartesi - Gözden geçirme: 2.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 3.0 Professional Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbprb KB113032 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:113032

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com