ข้อมูล: ข้อความข้อผิดพลาดการ "คุณลักษณะที่เลือกไม่ใช้"

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 214459 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

สรุป

เมื่อคุณใช้วัตถุข้อมูล ActiveX (ADO) ผ่านพารามิเตอร์เพื่อกระบวนงานที่เก็บไว้ คุณอาจได้รับข้อความแสดงข้อผิดพลาดต่อไปนี้:
ข้อผิดพลาดการทำ '2147217887 (80040e21)':
[Microsoft][ODBC sql Server โปรแกรมควบคุม] ไม่มีใช้คุณลักษณะที่ไม่จำเป็น

ข้อมูลเพิ่มเติม

ข้อผิดพลาดนี้อาจเกิดขึ้นได้ถ้าคุณพยายามที่จะกำหนดชนิดของพารามิเตอร์ในคอลเลกชันพารามิเตอร์ของวัตถุสั่ง ADODB เป็นชนิดที่ไม่ถูกสนับสนุน โดยตัวให้บริการข้อมูล

ตัวอย่างเช่น ใช้ SQL Server 7.0 สร้างกระบวนงานที่เก็บไว้ในฐานข้อมูล PUBS:
   CREATE PROCEDURE GetEmployeeInfo (@thedate datetime, @NumEmployees int output)AS 
       SELECT @NumEmployees =  count(*) FROM EMPLOYEE WHERE hire_date < @thedate
   GO
				
กระบวนงานที่เก็บไว้นี้ส่งกลับค่าพารามิเตอร์การแสดงผล int ชนิดที่บ่งชี้หมายเลขของพนักงานที่มีการจ้างงานก่อนวันที่กำหนด วันมีการส่งผ่านไปยังกระบวนงานที่เก็บไว้เป็นพารามิเตอร์ และจำนวนพนักงานที่จะส่งผ่านไปยังโปรแกรมที่เรียกตามพารามิเตอร์การแสดงผล

สร้างโปรแกรมประยุกต์ ADO ให้ใช้กระบวนงานที่เก็บไว้ในขณะนี้ ตัวอย่างให้ถูกเขียนใน Visual Basic
Private Sub MySubroutine()
Dim dbConnection As ADODB.Connection
Dim dbCommand As ADODB.Command

Set dbConnection = New ADODB.Connection
Set dbCommand = New ADODB.Command

Dim DSNNAME As String
Dim USERNAME As String
Dim PASSWORD As String

DSNNAME = "Pubs"
USERNAME = "sa"
PASSWORD = ""

dbConnection.Open DSNNAME, USERNAME, PASSWORD
dbCommand.ActiveConnection = dbConnection

Dim TheDate As Date
TheDate = Now

dbCommand.CommandText = "GetEmployeeInfo"
dbCommand.CommandType = adCmdStoredProc
dbCommand.Parameters.Append dbCommand.CreateParameter("@thedate", adDBDate, adParamInput, 0, TheDate)
dbCommand.Parameters.Append dbCommand.CreateParameter("@NumEmployees", adInteger, adParamOutput, 0)
dbCommand.Execute

Dim strTheString As String
strTheString = "There are " & dbCommand.Parameters("@numemployees") & " employees who were hired before " & TheDate
MsgBox strTheString, vbOKOnly, "Demonstration"
End Sub
				
เมื่อมีการเรียกใช้โค้ดตัวอย่าง มันทำให้ข้อความแสดงข้อผิดพลาดนี้:
ข้อผิดพลาดการทำ '2147217887 (80040e21)':
[Microsoft][ODBC sql Server โปรแกรมควบคุม] ใช้คุณลักษณะที่ไม่จำเป็นไม่
นี่คือเนื่องจาก SQL Server ไม่สนับสนุนชนิดข้อมูลของ adDBDate เมื่อต้องการแก้ไขปัญหานี้ เปลี่ยนชนิดข้อมูลของพารามิเตอร์ @ theDate adDBTimeStamp

เมื่อต้องการกำหนดหมายเลข ชื่อ ชนิด และขนาดของพารามิเตอร์ที่จำเป็นในกระบวนงานที่เก็บไว้ ใช้ Parameters.Refresh เมธอดของวัตถุคำสั่ง คุณสามารถเรียกใช้เมธอดนี้ในระหว่างการพัฒนาโปรแกรมประยุกต์ของคุณเพื่อตรวจสอบความถูกต้องสำหรับกระบวนงานที่เก็บไว้ แล้วเอาโทรแพงเพื่อ Parameters.Refresh หลังจากที่คุณได้รวบรวมข้อมูลที่จำเป็น

คุณสมบัติ

หมายเลขบทความ (Article ID): 214459 - รีวิวครั้งสุดท้าย: 8 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft ActiveX Data Objects 2.7
Keywords: 
kbDSupport kbinfo kbstoredproc kbmt KB214459 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:214459
การปฏิเสธความรับผิดชอบในเนื้อหาของ KB ที่จะไม่มีการปรับปรุงอีกต่อไป
บทความนี้กล่าวถึงผลิตภัณฑ์ที่ Microsoft ไม่มีการสนับสนุนอีกต่อไป เนื้อหาของบทความจึงมีการนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก

ให้ข้อเสนอแนะ

 

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