Hata: "sözdizimi hatası INSERT INTO..." ADO Recordset.Update hakkında

Makale çevirileri Makale çevirileri
Makale numarası: 189220 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Belirtiler

AddNew yöntemini ve sonra bir Recordset'in güncelleştirme yöntemini çağırın, aşağıdaki hata döndürülür:
Microsoft OLE DB Provider for ODBC sürücüleri hata '80040e21'
[Microsoft][ODBC Microsoft Access 97 sürücüsü] Sözdizimi hatası, INSERT INTO deyimi.
Microsoft Access ODBC sürücüsü version4.00.4202.00 kullanarak ya da daha sonra hata iletisidir:
Çalışma zamanı hatası '-2147467259(80004005) ':
[Microsoft][ODBC Microsoft Access sürücüsü]INSERT INTO deyiminde sözdizimi hatası.

Neden

Bu hata, aşağıdaki doğruysa oluşur:
  • CursorType adOpenForwardOnly (0) ' dir.
  • CursorLocation adUseServer ' dir.
  • Güncelleştirilmekte olan BIR alan adı alanında bir alan var.
  • Microsoft Access ODBC sürücüsü kullanıyorsunuz.
Sunucu-tarafı, salt ileri imleç üzerinde AddNew ve Update yöntemleri çağırmadan geçersiz bir işlemdir. ActiveX Data Objects (ADO) için bu kodu kusur operasyonu gerçekleştirmek için bir INSERT deyimi oluşturarak telafi eder. ADO bir INSERT deyimi oluşturduğunda, bu alan adlarını sınırlandırmak değil. Bu nedenle, alan adları, boşluk içeren bir sözdizim hatası üretir.

Örneğin, geçerli bir INSERT deyimi aşağıdaki gibi olacaktır:
   INSERT INTO Table ([field with space]) Values(value)
				
aşağıdaki kod, ADO oluşturur:
   INSERT INTO Table (field with space) Values(value)
				

Çözüm

Birkaç olası çözüm aşağıda verilmiştir:
  • Veritabanınızdaki alan adlarında boşluk kullanmayın.
  • Bir CursorLocation adUseClient'A (3), Ek Yardım düğmesini kullanın.
  • Bir CursorType adOpenKeyset (1), <a1>adOpenDynamic</a1> (2) veya (3) adOpenStatic adOpenForwardOnly (0) olarak kullanmayın.
  • Sınırlayıcılar AddNew ve Update yöntemleri kullanmak yerine alan adları ile kendi bir INSERT deyimi oluşturarak operasyonu gerçekleştirmek.
  • Microsoft OLE DB Sağlayıcı Jet sürüm 3.51 veya 4.0 Microsoft OLE DB Provider'ın yerine için ODBC Microsoft Access ODBC sürücüsü için kullanın.

Durum

Microsoft bu hatanın bu makalenin başında listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Özellikler

Makale numarası: 189220 - Last Review: 2 Mart 2005 Çarşamba - Gözden geçirme: 2.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Data Access Components 1.5
  • Microsoft Data Access Components 2.0
  • Microsoft Data Access Components 2.1 Service Pack 2
  • Microsoft Data Access Components 2.5
  • Microsoft Data Access Components 2.6
  • Microsoft Data Access Components 2.7
  • Access 3.5 için Microsoft Open Database Connectivity Sürücüsü
  • Access 4.0 için Microsoft Open Database Connectivity Sürücüsü
Anahtar Kelimeler: 
kbmt kbbug kbdatabase kbdriver kbjet KB189220 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:189220

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