Visual Basic Q&A

As a software engineer, I focus on .NET, especially asp.net, C#, WCF and so on, and I am also very interested in Search Engine Optimization.

Entries Tagged ‘microsoft knowledge base’

BUG: Data Control Validate Event Not Fired on Unloading Form

Symptoms
A form containing a bound Data Control disables the Validate event when theform is unloaded.
Resolution
Microsoft has confirmed this to be an issue in the Microsoft productslisted at the beginning of this article. Microsoft is researching thisissue and will post new information here in the Microsoft Knowledge Base asit becomes available.

An “could not copy temporary files to the output directory” error is generated in Visual Studio .NET or in Visual Studio 2005

Symptoms
When you build a project in Microsoft Visual Studio .NET or in Microsoft Visual Studio 2005, the build fails and you receive the following compile-time error message:

Could not copy temporary files to the output directory. For more information about another cause for this symptom, click the following article number to view the article in the Microsoft Knowledge Base:
313512?(http://support.microsoft.com/kb/313512/) BUG: “Could not copy temporary files to the output directory” error message when you build a solution that contains multiple projects
Resolution
This behavior may occur for one of the following reasons.
Cause 1You may receive this error message when you compile a component that is currently being used by another process. For example, you may try to compile a class library or a user control project. For example, this behavior may occur when the following conditions are true: Multiple instances of Visual Studio .NET or Microsoft Visual Studio 2005 are open. In one instance, you have a UserControl or class library project. In the other instance, you have a project that references the component and the project of the component is open in the first instance.The second instance uses a file reference to the assembly and the Copy Local property of the assembly is set to False.The assembly has been loaded into memory of the second instance of Visual Studio .NET or Microsoft Visual Studio 2005.If the Copy Local property is set to False for the referenced assembly, and the assembly is not installed in the global assembly cache, the assembly will not be copied to the local \Bin folder of the consuming project. To resolve the location of the referenced assembly, Visual Studio .NET or Microsoft Visual Studio 2005 will search the paths that are listed in the Reference Path property of the project until it finds the assembly. In a scenario where the assembly has been loaded, such as a UserControl loaded in the Windows Form designer, the assembly is being used and cannot be overwritten when you try to build it. When this behavior occurs, you receive the error message that is mentioned in the “Symptoms” section.
As soon as the assembly has been loaded in memory of the Visual Studio .NET or Microsoft Visual Studio 2005 IDE, the assembly will not be unloaded until you exit and then restart the Visual Studio .NET or Microsoft Visual Studio 2005 IDE. For more information, see the “Resolution” section.
Cause 2 This behavior also occurs if you try to build the application when you are currently running an instance of the application from its \Bin folder, externally of the Visual Studio .NET or Microsoft Visual Studio 2005 IDE.
During the build process, the compiler builds the project to an intermediate folder, such as Obj\configname. In this folder name, configname is the name of the project. When the build process has completed, the files are copied from the intermediate folder into the output folder. The “Could not copy temporary files to the output directory” error message indicates that the compiler could not copy these files from the intermediate folder to the output folder. If you run the application that is being built from the output directory, the compiler cannot overwrite these files because they are currently being used. For more information, see the “Resolution” section.

List of bugs that are fixed in Visual Studio .NET 2003 Service Pack 1

Symptoms
Microsoft Visual Studio .NET version 2003 Service Pack 1 (SP1) contains fixes for many bugs that have been documented in the Microsoft Knowledge Base (KB). This article lists these KB articles.
The list contains links to articles about Microsoft ASP.NET and Web Forms, Microsoft Visual Basic .NET, Microsoft Visual C# .NET, Microsoft Visual C++ .NET, Microsoft Visual J# .NET, Microsoft Visual Studio .NET, and Microsoft Visual Studio for Devices.
Resolution
This article contains a list of Microsoft Knowledge Base (KB) articles that describe bugs that are fixed in Microsoft Visual Studio .NET 2003 SP1.
To obtain Visual Studio .NET 2003 SP1, visit the following Microsoft Download Center Web site:
http://www.microsoft.com/downloads/details.aspx?familyid=69d2219f-ce82-46a5-8aec-072bd4bb955e(http://www.microsoft.com/downloads/details.aspx?familyid=69d2219f-ce82-46a5-8aec-072bd4bb955e)To see a complete list of updates for Visual Studio .NET products and for Microsoft .NET Framework products, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/vstudio/aa718693.aspx(http://msdn2.microsoft.com/en-us/vstudio/aa718693.aspx)

List of bugs fixed in Visual Studio 6.0 Service Pack 4

Symptoms
This article contains a list of Microsoft Knowledge Base article numbers for bugs that are fixed in Visual Studio version 6.0 Service Pack 4.
Service packs are cumulative. This means that the bugs fixed in a service pack are also fixed in subsequent service packs. Click the Qxxxxxx number that precedes the title of the article to view the article about that bug.
Visual Studio Service Pack 4 is available on from the following Microsoft Web site:
http://msdn2.microsoft.com/en-us/vstudio/Aa718362.aspx(http://msdn2.microsoft.com/en-us/vstudio/Aa718362.aspx)
Resolution
Visual Basic
183979?(http://support.microsoft.com/kb/183979/) FIX: Visual Basic UserControls within UserControls do not print in Internet Explorer
224181?(http://support.microsoft.com/kb/224181/) FIX: GDI resource leak using checkboxes in ListView control
224185?(http://support.microsoft.com/kb/224185/) FIX: User defined type in public function of a user control fails to run
232194?(http://support.microsoft.com/kb/232194/) FIX: ITC OpenUrl method does not return complete files
234317?(http://support.microsoft.com/kb/234317/) FIX: HTML page truncated with Visual Studio SP3 WebClass run time when running in the VB IDE
234771?(http://support.microsoft.com/kb/234771/) FIX: Error 800a2328 returned when browsing a Visual Basic 6.0 WebClass (IIS application)
237175?(http://support.microsoft.com/kb/237175/EN-US/) FIX: VB IDE Improperly Changes Registry Entries of ATL Object Interface When Generating OCA File
238672?(http://support.microsoft.com/kb/238672/EN-US/) FIX: Mouse Hook Not Called When Used in User Controls
239943?(http://support.microsoft.com/kb/239943/EN-US/) FIX: UserControls with Menus Cause Resource Leak
240927?(http://support.microsoft.com/kb/240927/EN-US/) FIX: Cannot Read Source File Error Running PDW Distribution
245124?(http://support.microsoft.com/kb/245124/EN-US/) FIX: VB6SP4 – Access Violation in Remote Automation Manager (Autmgr32.exe)
245159?(http://support.microsoft.com/kb/245159/EN-US/) FIX: Winsock Control SendData Only Works Over the Latest Connection
246233?(http://support.microsoft.com/kb/246233/EN-US/) FIX: Selecting a Nested UserControl DataSource Property May Cause Crash
246919?(http://support.microsoft.com/kb/246919/EN-US/) FIX: Visual Basic Crashes on Code Generated by ActiveX Control Interface Wizard
248416?(http://support.microsoft.com/kb/248416/EN-US/) FIX: Wrong TreeView Node Selected When SingleSel Property = True
248418?(http://support.microsoft.com/kb/248418/EN-US/) FIX: Unable to Develop IIS Applications (WebClasses) on Windows 2000
249607?(http://support.microsoft.com/kb/249607/EN-US/) FIX: Visual Basic 6.0 UserControl in Excel Does Not Print or Display in Print Preview
253555?(http://support.microsoft.com/kb/253555/EN-US/) FIX: Error Message ‘Report Width Is Larger Than the Paper Width’ on Exporting Data Report
242483?(http://support.microsoft.com/kb/242483/EN-US/) FIX: Error 486 or 482 Occurs When Using PrintForm
254166?(http://support.microsoft.com/kb/254166/EN-US/) BUG: Distribution of Microsoft Scripting Runtime Library Fails
257421?(http://support.microsoft.com/kb/257421/EN-US/) FIX: Compiling ActiveX Project Does Not Release Reference Correctly
257495?(http://support.microsoft.com/kb/257495/EN-US/) FIX: ListView Executes the ItemClick Event Twice with LabelEdit Set to Manual
257496?(http://support.microsoft.com/kb/257496/EN-US/) FIX: Optimized Code Incorrectly Compares Floating Point Numbers
257501?(http://support.microsoft.com/kb/257501/EN-US/) FIX: Error Message When Exporting Data Report to HTML File
257516?(http://support.microsoft.com/kb/257516/EN-US/) FIX: Button Removed from Toolbar Cannot Be Added Back
257523?(http://support.microsoft.com/kb/257523/EN-US/) FIX: Resource Leak Occurs When You Display WMF Files in a PictureBox
257524?(http://support.microsoft.com/kb/257524/EN-US/) FIX: Adding Items to ListView Control Results in IPF on Win9x
257529?(http://support.microsoft.com/kb/257529/EN-US/) FIX: MonthView’s Year is Changed When Setting DayofWeek Property
257530?(http://support.microsoft.com/kb/257530/EN-US/) FIX: Images Replicated When Customizing a Toolbar
257531?(http://support.microsoft.com/kb/257531/EN-US/) FIX: Wrong Large Currency Values Returned from Late Bound Object
257543?(http://support.microsoft.com/kb/257543/EN-US/) FIX: MouseDown Event Fires Unexpectedly on Modal Form
257550?(http://support.microsoft.com/kb/257550/EN-US/) FIX: An Invalid Page Fault Error Occurs When You Use a DataReport
257572?(http://support.microsoft.com/kb/257572/EN-US/) FIX: Error Message ‘Missing Dependency Information’ for Mshtml.tlb When Using PDW
257630?(http://support.microsoft.com/kb/257630/EN-US/) FIX: Exception Error Closing an Application Containing a CoolBar Control
257635?(http://support.microsoft.com/kb/257635/EN-US/) FIX: DataGrid Loses Focus After You Cancel AddNew
257641?(http://support.microsoft.com/kb/257641/EN-US/) FIX: DataSource Drop-Down List Box Loads Slowly in Large Projects
257645?(http://support.microsoft.com/kb/257645/EN-US/) FIX: Setting Windowless Control to Transparent Prevents Animation
257657?(http://support.microsoft.com/kb/257657/EN-US/) FIX: Edit/Update Fails for SQL 7.0 for Column of Type Text When CursorDriver Is Set to rdUseODBC
257660?(http://support.microsoft.com/kb/257660/EN-US/) FIX: Setting Printer Object Reference to Nothing Causes IPF
257661?(http://support.microsoft.com/kb/257661/EN-US/) FIX: Double-Click Event of a Form May Fire the SSTab’s GotFocus and Click Events
257664?(http://support.microsoft.com/kb/257664/EN-US/) FIX: Object in a DLL on a Non-UI Thread Disables Modeless Forms in UI Thread
257686?(http://support.microsoft.com/kb/257686/EN-US/) FIX: Double-Clicking ListBox Control Causes Invalid Page Fault
257691?(http://support.microsoft.com/kb/257691/EN-US/) FIX: Dynamically Loaded UserControl Does Not Send Edits in Data-Bound Textboxes to Data Source
257692?(http://support.microsoft.com/kb/257692/EN-US/) FIX: Resource Leak if Control’s IMEMode Is Greater Than 0 (International Versions)
257695?(http://support.microsoft.com/kb/257695/EN-US/) FIX: Invalid Page Fault When Using Data Environment Designer
257703?(http://support.microsoft.com/kb/257703/EN-US/) FIX: ListView Control Still Active After Opening Modal Form
257707?(http://support.microsoft.com/kb/257707/EN-US/) FIX: Recordset Not Updated After Invoking the Move Method
257710?(http://support.microsoft.com/kb/257710/EN-US/) FIX: PointSelected of MSChart May Return Wrong DataPoint Value
257712?(http://support.microsoft.com/kb/257712/EN-US/) FIX: DBCS Characters Cause Duplicate Column Name When Using Jet 4
257714?(http://support.microsoft.com/kb/257714/EN-US/) FIX: ADO DataControl and DataEnvironment Events Only Work with ADO 2.0
257728?(http://support.microsoft.com/kb/257728/EN-US/) FIX: Client Winsock Control Never Connects to Server Control on Same Form
257730?(http://support.microsoft.com/kb/257730/EN-US/) FIX: PrintForm Method of a Form Containing a UserControl Causes IPF
257741?(http://support.microsoft.com/kb/257741/EN-US/) FIX: UserControl Validate Event Hangs the VB IDE
257777?(http://support.microsoft.com/kb/257777/EN-US/) FIX: Printer.Height May Eject the Wrong Amount of Paper with Some Dot Matrix Printers
257779?(http://support.microsoft.com/kb/257779/EN-US/) FIX: Printer Dialog of DataReport PrintReport Method Always Shows Portrait
257780?(http://support.microsoft.com/kb/257780/EN-US/) FIX: Unrecognized Database Format Error with Data Control or Data Form Wizard
257782?(http://support.microsoft.com/kb/257782/EN-US/) FIX: Visual Basic IDE Crashes Changing Control’s Name in Properties Window
257783?(http://support.microsoft.com/kb/257783/EN-US/) FIX: Function Returning Double Followed by Numeric Label Causes Crash
257784?(http://support.microsoft.com/kb/257784/EN-US/) FIX: ARROW Key Does Not Work on Cells that Contain Double-Byte Chars on Japanese Windows
257786?(http://support.microsoft.com/kb/257786/EN-US/) FIX: IPF in Msvbvm60.dll When Showing a Data Report After a Modal Form
257787?(http://support.microsoft.com/kb/257787/EN-US/) FIX: Program with UserControl Causes Access Violation When Exiting
257788?(http://support.microsoft.com/kb/257788/EN-US/) FIX: Navigating DataGrid Using Row Selector Fails to Submit Updates
257789?(http://support.microsoft.com/kb/257789/EN-US/) FIX: Data Source Is Not Updated When PropertyChanged Is Called
257792?(http://support.microsoft.com/kb/257792/EN-US/) FIX: TreeView NodeClick Events May Fire Despite Cancel = True
260098?(http://support.microsoft.com/kb/260098/EN-US/) FIX: Cannot Set the ComboBox Text in the Click Event in Visual Basic 6.0
257778?(http://support.microsoft.com/kb/257778/EN-US/) BUG: Closing Two MDI Child Forms Rapidly Results in an Invalid Page Fault
257732?(http://support.microsoft.com/kb/257732/EN-US/) BUG: VB6SP4 – GDI Resource Leak When UserControl’s MaskPicture Is Set to An Icon
257772?(http://support.microsoft.com/kb/257772/EN-US/) BUG: Updates to Textbox Bound to Remote Data Control Fail with rdUseClientBatch
257658?(http://support.microsoft.com/kb/257658/EN-US/) BUG: RDO BatchCollisionCount is Incorrect after BatchUpdate to SQL Server 7 Database
248837?(http://support.microsoft.com/kb/248837/EN-US/) Access Violation in VBA6.DLL During Compilation When Using SP3 Version of VBA6.DLL
Visual C++
167359?(http://support.microsoft.com/kb/167359/EN-US/) FIX: extern Declaration Generates Extra Constructor Call
231655?(http://support.microsoft.com/kb/231655/EN-US/) FIX: VC++ Stops Responding Opening Files or Adding Files to Projects
231872?(http://support.microsoft.com/kb/231872/EN-US/) FIX: Using #import May Cause Memory Leaks
234511?(http://support.microsoft.com/kb/234511/EN-US/) FIX: BUG: Visual C++ 6.0 Compiler Does Not Remove Some Unneeded Instruction
234602?(http://support.microsoft.com/kb/234602/EN-US/) FIX: /Og Generates Bad Code for a Compare/Branch
235434?(http://support.microsoft.com/kb/235434/EN-US/) FIX: ‘Attach to Process’ List Is Empty
243599?(http://support.microsoft.com/kb/243599/EN-US/) FIX: VC Debugger Fails on Some Long Names
248477?(http://support.microsoft.com/kb/248477/EN-US/) FIX: Deadlock Using STL Map or Set In Multithreaded Application
251362?(http://support.microsoft.com/kb/251362/EN-US/) FIX: Suspend and Resume Thread Hangs Visual C++ Debugger
229889?(http://support.microsoft.com/kb/229889/EN-US/) QuickView Command Is Missing from Windows 2000
256056?(http://support.microsoft.com/kb/256056/EN-US/) FIX: DllMain Throws Unhandled Exception with DLL_THREAD_DETACH
256158?(http://support.microsoft.com/kb/256158/EN-US/) FIX: Text May Appear Truncated in MFC Applications Localized for Japanese Windows 2000
256329?(http://support.microsoft.com/kb/256329/EN-US/) FIX: Opening a CFileDialog from Handler of a Custom CFileDialog Causes Access Violation
259723?(http://support.microsoft.com/kb/259723/EN-US/) FIX: Debugger Fails on Fast Dual Processors
259726?(http://support.microsoft.com/kb/259726/EN-US/) FIX: Debugger Encounters Invisible Breakpoints in Assembly Code
259746?(http://support.microsoft.com/kb/259746/EN-US/) FIX: C1001 Compiler Error When Virtual Function Used as a Parameter
260172?(http://support.microsoft.com/kb/260172/EN-US/) FIX: MFC ISAPI Parse Functions Fail Under Stress on Multiple-CPU Computers
262515?(http://support.microsoft.com/kb/262515/EN-US/) FIX: /GT Compiler Switch May Cause Access Violation (AV) During Thread Switches
262698?(http://support.microsoft.com/kb/262698/EN-US/) FIX: Visual C++ 6.0 Debugger Stops Responding on Multiprocessor Computers
201641?(http://support.microsoft.com/kb/201641/EN-US/) FIX: Euro Symbol in ODL/IDL File Causes Visual C++ IDE to Stop Responding
Visual FoxPro
217174?(http://support.microsoft.com/kb/217174/EN-US/) FIX: APPEND FROM TYPE XL8 Makes VFP 6 Disappear
221745?(http://support.microsoft.com/kb/221745/EN-US/) FIX: C0000005 Fatal Error Using GETPEM() in Loop with Debugger
238945?(http://support.microsoft.com/kb/238945/EN-US/) FIX: Repeatedly Manipulating Data in Editbox Causes Error Message
250059?(http://support.microsoft.com/kb/250059/EN-US/)FIX: Accessing Printer Drivers After Issuing SYS(1037) Might Cause Error
258428?(http://support.microsoft.com/kb/258428/EN-US/) FIX: Printer Name Longer than 64 Characters Causes Error
258530?(http://support.microsoft.com/kb/258530/EN-US/) FIX: Multiple References to File Object of Project Causes OLE Error
258532?(http://support.microsoft.com/kb/258532/EN-US/) FIX: Random Characters in Report Do Not Print Under Localized Windows
258533?(http://support.microsoft.com/kb/258533/EN-US/) FIX: Cannot Resize Grid Column Widths Under Localized Windows
258536?(http://support.microsoft.com/kb/258536/EN-US/) FIX: UP ARROW Key Not Working in Code Editor Under Hebrew Windows
258537?(http://support.microsoft.com/kb/258537/EN-US/) FIX: Config.fpw Setting for Terminal Server Environment
258736?(http://support.microsoft.com/kb/258736/EN-US/) FIX: Multi-Threaded DLL Is Slow to Release Connection Under MTS
258737?(http://support.microsoft.com/kb/258737/EN-US/) FIX: DataSession Property Cannot Be Set in Session Subclass
262789?(http://support.microsoft.com/kb/262789/EN-US/) INFO: New SYS(2800) Function Improves Magnifier Accessibility Tool
262878?(http://support.microsoft.com/kb/262878/EN-US/) FIX: Fatal Exception with Large Number of Variables or Objects
Visual InterDev
259485?(http://support.microsoft.com/kb/259485/EN-US/) FIX: Devenv.exe Application Error (0×67bbfbdf) Occurs When You Are Using Visual InterDev 6.0
243809?(http://support.microsoft.com/kb/243809/EN-US/) BUG: Recordset DTC Does Not Recognize Data Connection; Connection Information Appears in Red
261150?(http://support.microsoft.com/kb/261150/EN-US/) FIX: Visual InterDev Incorrectly Determines Web Server Version
261152?(http://support.microsoft.com/kb/261152/EN-US/) FIX: Visual InterDev Returns Generic ‘Unable to Contact Web Server’ Error
261153?(http://support.microsoft.com/kb/261153/EN-US/) INFO: Can’t Create/Modify SQL Server 2000 Table, View, Diagram
262601?(http://support.microsoft.com/kb/262601/EN-US/) FIX: Menu Does Not Appear When You Right-Click in the Query Builder
Visual SourceSafe
230702?(http://support.microsoft.com/kb/230702/EN-US/) FIX: Errors When Renaming or Deleting a Project in Visual SourceSafe
236810?(http://support.microsoft.com/kb/236810/EN-US/) FIX: Command Line GET Fails with ‘Unable to finish writing file’ Error
237184?(http://support.microsoft.com/kb/237184/EN-US/) FIX: Branching from Label Causes Error ‘You do not have access rights to $/’
244960?(http://support.microsoft.com/kb/244960/EN-US/) FIX: Analyze and DDUPD Return ‘Out of Memory’
244961?(http://support.microsoft.com/kb/244961/EN-US/) FIX: Analyze.exe -f Replaces Project Data Files with a 0 Byte File
248760?(http://support.microsoft.com/kb/248760/EN-US/) FIX: Project Log ‘Physical Filename’ has a Share (From Another Project)
259902?(http://support.microsoft.com/kb/259902/EN-US/) FIX: Installation of Service Pack 4 Does Not Update Readmess.htm with Latest Version
259915?(http://support.microsoft.com/kb/259915/EN-US/) FIX: Analyze.exe Corrupts MBCS File Names When First 8 Bytes Are Same Text
Visual Studio
260049?(http://support.microsoft.com/kb/260049/EN-US/) FIX: Database Problems with Nulls and Data Type Precision
260092?(http://support.microsoft.com/kb/260092/EN-US/) FIX: If You Create a Table With Query Analyzer from Visual InterDev then the SQL Enterprise Manager Inserts the Incorrect Decimal (9, 0) Values
260095?(http://support.microsoft.com/kb/260095/EN-US/) FIX: Table Created in Visual Studio Is Not Owned by the DBO Who Created It
260128?(http://support.microsoft.com/kb/260128/EN-US/) FIX: SP4 JPN: Several Files are in English Instead of Japanese
250334?(http://support.microsoft.com/kb/250334/EN-US/) PRB: MSDN Library Unable to Display Help from Within Visual Studio Programs
260030?(http://support.microsoft.com/kb/260030/EN-US/) FIX: Visual Studio Service Pack 3 Does Not Update Hhcrtl.ocx and Itss.dll
260032?(http://support.microsoft.com/kb/260032/EN-US/) FIX: Incorrect Versions of VFP6.exe and VB6.exe in Visual Studio 6
260051?(http://support.microsoft.com/kb/260051/EN-US/) FIX: Compatibility Problems with the Redistribution Files in the Oleaut32.dll File
260085?(http://support.microsoft.com/kb/260085/EN-US/) DOC: The Japanese Translated Version of Visual Studio Service Pack 3 Readme Contains Errors
260086?(http://support.microsoft.com/kb/260086/EN-US/) FIX: DataTools: Resource ID #1634 ‘Where’ Is Mistakenly Translated into Japanese
260094?(http://support.microsoft.com/kb/260094/EN-US/) FIX: The Schema Designer Does Not Support the Precision of DECIMAL and NUMERIC Data-Types that are More than 29 Places
260104?(http://support.microsoft.com/kb/260104/EN-US/) The Willamette Processor Name Has Changed
260140?(http://support.microsoft.com/kb/260140/EN-US/) FIX: The Msdis110.dll File Is Not Updated by the Installation of Windows NT 4 Service Pack 4
262768?(http://support.microsoft.com/kb/262768/EN-US/) FIX: SQL Enterprise Manager Causes Access Violations When You Resize the Grid in the Design View
262909?(http://support.microsoft.com/kb/262909/EN-US/) FIX: FIX: Query Design Table Is Cut Off in Korean Windows 2000

Keywords to search .NET-related Knowledge Base articles

Symptoms
The Microsoft Knowledge Base is categorized by keywords. The keywords help to refine the search criteria. This article lists the keywords that are used as metadata for .NET related Knowledge Base articles. The following .NET-related areas are included in this article: ADO.NETASP.NETAssembliesBCL (Base Class Libraries)C#C++COM InteropCommon Language RuntimeDebuggingDeploymentEnterprise ServicesGDI+LocalizationMobile Controls.NET ClassesP-Invoke (Platform Invoke)RemotingSecurityVisual Basic .NETVisual Studio .NETWindows FormsWeb Services
Resolution
Each Knowledge Base article may contain one or more product-specific keywords (named KBKeyword) that put the article in the appropriate category. Some of the Knowledge Base keywords are composed of the resulting concatenation of keywords. For example, you can find all the ASP.NET and Data Binding issue articles by using the kbASPNET kbDataBinding keyword combination in your search criteria. The following tables list the topics that are related to .NET in the Knowledge Base, including a link to the related support centers (where available) where you can browse the Microsoft Knowledge base by topic, and the corresponding Knowledge Base keywords:ADO.NETADO.NET Support Center(http://support.microsoft.com/ph/548)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All ADO.NET related articles| kbADONET|+———————————-+——————————————+| Connection Pooling| kbADONET kbConnectionPooling|+———————————-+——————————————+| DataBinding| kbADONET kbDataBinding|+———————————-+——————————————+| DataSet issues| kbADONET kbSystemData kbDataSet|+———————————-+——————————————+| EvaluateExpression issue| kbADONET kbSystemData|+———————————-+——————————————+| Interop with native ADO| kbADONET kbInterop kbADO|+———————————-+——————————————+| OleDb issues| kbADONET kbOleDb|+———————————-+——————————————+| Oracle| kbADONET kbOracle|+———————————-+——————————————+| Performance| kbADONET kbPerformance|+———————————-+——————————————+| SqlClient issues| kbADONET kbSqlClient|+———————————-+——————————————+| SqlDataAdapter issues| kbADONET kbSystemData kbSqlClient||| kbSqlDataAdapter|+—————————————————————————–+ASP.NETASP.NET Support Center(http://support.microsoft.com/ph/1249)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All ASP.NET related articles| kbASPNET|+———————————-+——————————————+| All ASP.NET Enterprise Services| kbASPNET kbEntServices|| articles||+———————————-+——————————————+| All ASP.NET Data access related| kbASPNET kbADONET|| articles||+———————————-+——————————————+| Caching| kbASPNET kbCaching|+———————————-+——————————————+| Configuration| kbASPNET kbConfig|+———————————-+——————————————+| Connectivity| kbASPNET kbConnectivity|+———————————-+——————————————+| Cookieless Sessions| kbState kbCookie|+———————————-+——————————————+| DataBinding| kbASPNET kbDataBinding|+———————————-+——————————————+| Debugging| kbASPNET kbDebug|+———————————-+——————————————+| Deployment| kbASPNET kbDeployment|+———————————-+——————————————+| HttpRuntime| kbASPNET kbHttpRuntime|+———————————-+——————————————+| Migration| kbASPNET kbMigration|+———————————-+——————————————+| Navigation| kbASPNET kbNavigation|+———————————-+——————————————+| Page/Web Form| kbWebForms|+———————————-+——————————————+| Server Controls| kbASPNET kbServerControls|+———————————-+——————————————+| State Management| kbASPNET kbState|+———————————-+——————————————+| Validation| kbASPNET kbValidation|+———————————-+——————————————+| Web Form| kbASPNET kbWebForm|+—————————————————————————–+Assemblies.NET Framework Support Center(http://support.microsoft.com/netframe11)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All Assemblies related articles| kbAssemblies|+—————————————————————————–+BCL (Base Class Libraries)Class Libraries in the .NET Framework Support Center (http://support.microsoft.com/netframe11?sid=128)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All Base Class Library related| kbBCL|| articles||+—————————————————————————–+C#Visual C# .NET Supoprt Center(http://support.microsoft.com/ph/3040)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| Compiler related issues| kbCompiler|+———————————-+——————————————+| Language related issues| kbLangC|+———————————-+——————————————+| Documentation/Samples| kbDoc or kbSample|+———————————-+——————————————+| Project/Build System| kbBuilder|+—————————————————————————–+C++Visual C++ .NET Supoprt Center(http://support.microsoft.com/vcnet)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| ATL| kbATL|+———————————-+——————————————+| ATL Server| kbATLServer|+———————————-+——————————————+| Attributes| kbNativeAttributes|+———————————-+——————————————+| Compiler| kbCompiler|+———————————-+——————————————+| CRT| kbCRT|+———————————-+——————————————+| Designers| kbDesigner|+———————————-+——————————————+| Documentation/Samples| kbDocs or kbSample|+———————————-+——————————————+| Linker| kbLinker|+———————————-+——————————————+| MFC| kbMFC|+———————————-+——————————————+| Project/Build System| kbBuilder|+———————————-+——————————————+| STL| kbSTL|+—————————————————————————–+COM InteropCommon Language Runtime in the .NET Framework Support Center (http://support.microsoft.com/netframe11?sid=122)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All COM Interop related articles | kbCOMInterop|+———————————-+——————————————+| Data Marshaling| kbCOMInterop kbMarshal|+———————————-+——————————————+| Events| kbCOMInterop kbEvent|+———————————-+——————————————+| Threading| kbCOMInterop kbThread|+—————————————————————————–+Common Language RuntimeCommon Language Runtime in the .NET Framework Support Center(http://support.microsoft.com/netframe11?sid=122)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All common language runtime| kbCLR|| related articles||+———————————-+——————————————+| Component Model| kbCLR kbCompModel|+———————————-+——————————————+| Garbage Collector| kbCLR kbGarbageCollect|+———————————-+——————————————+| JIT Compiler/IL| kbCLR kbJIT|+———————————-+——————————————+| Profiling| kbCLR kbPerformanceTool|+—————————————————————————–+DebuggingDebugging in the .NET Framework Support Center(http://support.microsoft.com/netframe11?sid=262)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All Debugging related articles| kbDebug|+———————————-+——————————————+| common language runtime| kbDebug kbCLR|+———————————-+——————————————+| Configuration| kbDebug kbConfig|+———————————-+——————————————+| Mixed (Native/Managed)| kbDebug kbNativeAttributes kbManaged|+———————————-+——————————————+| Native| kbDebug kbNativeAttributes|+———————————-+——————————————+| Remote| kbDebug kbRemoteProg|+———————————-+——————————————+| Script| kbDebug kbScript|+———————————-+——————————————+| T-SQL| kbDebug kbTSQL|+—————————————————————————–+Deployment.NET Framework Support Center(http://support.microsoft.com/netframe11)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All Deployment related articles| kbDeployment|+—————————————————————————–+Enterprise ServicesEnterprise Services in the .NET Framework Support Center(http://support.microsoft.com/netframe11?sid=115)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All Enterprise Services related| kbEntServices|| articles||+—————————————————————————–+GDI+.NET Framework Support Center(http://support.microsoft.com/netframe11)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All Drawing related articles| kbDrawing|+———————————-+——————————————+| Design| kbDrawing kbDesign|+———————————-+——————————————+| Imaging| kbDrawing kbgdiimaging|+———————————-+——————————————+| Metafiles| kbDrawing kbMetafile|+———————————-+——————————————+| Performance| kbDrawing kbPerformance|+———————————-+——————————————+| Printing| kbDrawing kbPrint|+———————————-+——————————————+| Text/Fonts| kbDrawing kbgditext or kbDrawing kbFont|+———————————-+——————————————+| Transforms/Coordinate Spaces| kbDrawing kbgdiptransform|+———————————-+——————————————+| Vector Graphics| kbDrawing kbgdivector|+—————————————————————————–+Localization

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All Localization related| kbLocalization|| articles||+—————————————————————————–+Mobile Controls.NET Framework Support Center(http://support.microsoft.com/netframe11)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All Mobile Controls related| kbCtrl|| articles||+—————————————————————————–+.NET Classes.NET Framework Support Center(http://support.microsoft.com/netframe11)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All .NET Class related articles| kbNETClasses|+—————————————————————————–+P-Invoke (Platform Invoke).NET Framework Support Center(http://support.microsoft.com/netframe11)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All P-Invoke related articles| kbPInvoke|+—————————————————————————–+RemotingRemoting in the .NET Framework Web Services Support Center(http://support.microsoft.com/netframe11?sid=100)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All Remoting related articles| kbRemoting|+———————————-+——————————————+| Channels| kbRemoting kbChannels|+———————————-+——————————————+| HTTP| kbRemoting kbHttp|+———————————-+——————————————+| TCP| kbRemoting kbTunneling|+———————————-+——————————————+| Connectivity| kbRemoting kbConnectivity|+———————————-+——————————————+| Delegates/Events| kbRemoting kbEvent|+—————————————————————————–+SecuritySecurity in the .NET Framework Support Center(http://support.microsoft.com/netframe11?sid=200)

+—————————————————————————–+|FOCUS|KEYWORD|+———————————-+——————————————+| All Security related articles| kbSecurity|+—————————————————————————–+Visual Basic .NETVisual Basic .NET Support Center(http://support.microsoft.com/vbnet2003)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All Visual Basic .NET related| kbVBNET|| articles||+———————————-+——————————————+| Compiler| kbVBNET kbCompiler|+———————————-+——————————————+| Documentation Bugs| kbVBNET kbDocumentation|+———————————-+——————————————+| Migration| kbVBNET kbMigration|+———————————-+——————————————+| Performance| kbVBNET kbPerformance|| (language, not related to IDE)||+———————————-+——————————————+| Samples| kbVBNET kbSamples|+———————————-+——————————————+| Language (including inheritance, | kbVBNET kbLanguage|| syntax, and others)||+—————————————————————————–+Visual Studio .NETVisual Studio .NET Support Center(http://support.microsoft.com/vsnet2003)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All Visual Studio .NET related| kbVSSearch|| articles||+———————————-+——————————————+| Admin| kbVSSearch kbAdmin|+———————————-+——————————————+| Deployment| kbVSSearch kbDeployment|+———————————-+——————————————+| Performance|kbVSSearch kbPerformance|| (IDE including project/build)||+———————————-+——————————————+| Project (including build,| kbVSSearch kbProject|| References, and others)||+———————————-+——————————————+| IDE| kbVSSearch kbIDE|| (such as windows and wizards)||+———————————-+——————————————+| Documentation Bugs| kbVSSearch kbDocumentation|+———————————-+——————————————+| Setup Specific| kbVSSearch kbSetup|+———————————-+——————————————+| Setup Bug| kbVSSearch kbSetup kbBug|+—————————————————————————–+Windows FormsWindows Forms Support Center(http://support.microsoft.com/netframe11?sid=133)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All Windows Forms related| kbWindowsForms|| articles||+———————————-+——————————————+| Controls| kbWindowsForms kbCtrl|+———————————-+——————————————+| Designer| kbWindowsForms kbDesigner|+———————————-+——————————————+| Events| kbWindowsForms kbEvent|+———————————-+——————————————+| Forms| kbWindowsForms kbForms|+———————————-+——————————————+| MDI| kbWindowsForms kbForms kbMDI|+———————————-+——————————————+| Menus| kbWindowsForms kbForms kbMenu|+—————————————————————————–+Web Services.NET Framework Support Center(http://support.microsoft.com/netframe11)

+—————————————————————————–+|FOCUS|KEYWORD COMBINATIONS|+———————————-+——————————————+| All Web Service related articles | kbNetFrameWebServ|+———————————-+——————————————+| Client Proxies| kbNetFrameWebServ kbClient|+———————————-+——————————————+| Discovery| kbNetFrameWebServ kbDiscovery|+—————————————————————————–+

INFO: Visual Basic Accessing an Oracle Database Using ADO

Symptoms
With Visual Basic and ADO, you have the ability to connect to anOracle database through a DSN-Less connection, execute a stored procedureusing parameters, and get return values from that stored procedure. Theexample in this article illustrates all of this functionality.
Resolution
To run the sample code in this article, you may need to download andinstall the Microsoft Data Access Components if you are using Visual Basic 5.0. The MDAC Components are located at:http://msdn.microsoft.com/en-us/data/aa937729.aspx(http://msdn.microsoft.com/en-us/data/aa937729.aspx)The following example was created against an Oracle 7.3 database through aSQL*Net 2.3 connection. All of the following code (including the storedprocedure) should work fine with Oracle 7.2. However, the Microsoft ODBCDriver for Oracle Help file states that it only supports SQL*Net 2.3.
There are two objects that need to be created on the Oracle database; atable (adooracle) and a stored procedure (adoinsert).
NOTE: If you have worked through the following Microsoft Knowledge Base article then you can use the Oracle objects created in that article (rdooracle and rdoinsert). Just change the Visual Basic code below accordingly:

167225?(http://support.microsoft.com/kb/167225/EN-US/) HOWTO: Access an Oracle Database Using RDO
Here are the data definition language (DDL) scripts to create theseobjects:
ADOORACLE – This is just a two-column table with the first column set asthe primary key:

CREATE TABLE adooracle (item_numberNUMBER(3) PRIMARY KEY,depot_numberNUMBER(3));
ADOINSERT – This procedure accepts a single numeric input parameter andreturns a single numeric output parameter. The input parameter is firstused by an input statement, then it is divided by 2 and set as the outputparameter:

CREATE OR REPLACE PROCEDURE adoinsert (insnum IN NUMBER, outnum OUT NUMBER)ISBEGININSERT INTO adooracle(Item_Number, Depot_Number)VALUES(insnum, 16);outnum := insnum/2;END;/
In SQL 3.3, use a foward slash (/) to terminate and execute the script declaring the stored procedure.
NOTE: You must use Procedures that have output parameters and not Functions when working with Oracle and ADO parameters.
The preceding scripts can be run from SQL*Plus. Once these objects have been created, you can create the Visual Basic project that will use them.
This sample project uses a simple form to send a bind parameter to theADOINSERT stored procedure and then return the output parameter from thatprocedure. Here are the steps to create the project:
Open a new project in Visual Basic and add a Reference to the Microsoft ActiveX Data Objects library.Place the following controls on the form:

ControlNameText/CaptionButtoncmdCheckCheckButtoncmdSendSendText BoxtxtInputLabellblInputInput: From the Tools menu, choose Options, Click the “Default FullModule View” option, and then click OK. This allows you to view allof the code for this project.Paste the following code into your code window:

Option ExplicitDim Cn As ADODB.ConnectionDim CPw1 As ADODB.CommandDim CPw2 As ADODB.CommandDim Rs As ADODB.RecordsetDim Conn As StringDim QSQL As StringPrivate Sub cmdCheck_Click()CPw1(0) = Val(txtInput.Text)Set Rs = CPw1.ExecuteMsgBox “Item_Number = ” & Rs(0) & “.Depot_Number = ” & Rs(1) & “.”Rs.CloseEnd SubPrivate Sub cmdSend_Click()CPw2(0) = Val(txtInput.Text)CPw2.ExecuteMsgBox “Return value from stored procedure is ” & CPw2(1) & “.”End SubPrivate Sub Form_Load()’You will need to replace the “*” with the appropriate values.Conn = “UID=*****;PWD=****;DRIVER={Microsoft ODBC for Oracle};” _& “SERVER=*****;”Set Cn = New ADODB.ConnectionWith Cn.ConnectionString = Conn.CursorLocation = adUseClient.OpenEnd WithQSQL = “Select Item_Number, Depot_Number From adooracle Where ” _& “item_number = ?”Set CPw1 = New ADODB.CommandWith CPw1.ActiveConnection = Cn.CommandText = QSQL.CommandType = adCmdText.Parameters.Append .CreateParameter(, adInteger, adParamInput)End WithQSQL = “adoinsert”Set CPw2 = New ADODB.CommandWith CPw2.ActiveConnection = Cn.CommandText = QSQL.CommandType = adCmdStoredProc.Parameters.Append .CreateParameter(, adInteger, adParamInput).Parameters.Append .CreateParameter(, adDouble, adParamOutput)End WithEnd SubPrivate Sub Form_Unload(Cancel As Integer)Cn.CloseSet Cn = NothingSet CPw1 = NothingSet CPw2 = NothingEnd Sub Run the project.When you enter a number in the text box, txtInput, and click the Send button, the Oracle stored procedure, ADOINSERT, is called. The number you entered in the text box is used as the input parameter for the procedure. The output parameter is used in a message box that is called after the stored procedure has completed processing. With your original value still in the text box, click the “Check” button. This creates a simple read-only resultset that is displayed in another message box.
What follows is a detailed explanation of the code used in thisdemonstration project.
The Form_Load event contains the code that creates the DSN-Less connection:

Conn = “UID=<uid>;PWD=<pwd>;DRIVER={Microsoft ODBC for Oracle};” _& “SERVER=<MyServer>;”Set Cn = New ADODB.ConnectionWith Cn.ConnectionString = Conn.CursorLocation = adUseClient.OpenEnd With Once you create the ADO connection object (Cn), you set several of itsparameters using the WITH statement.
The connect string that is used to open a connection to an Oracle database(or any database for that matter) is very dependant on the underlying ODBCdriver. You can see in the connect string below that the Microsoft Oracledriver you are using is named specifically by DRIVER=:

Conn = “UID=<uid>;PWD=<pwd>;DRIVER={Microsoft ODBC for Oracle};” _& “SERVER==<MyServer>;” The most important part of this connect string is the “SERVER” keyword. Thestring assigned to SERVER is the Database Alias which you set up inSQL*Net. This is the only difference in the connect string when connectingto an Oracle database. For a DSN-Less connection, as is stated in the Helpfile, you do not specify a DSN in the connect string.
Also in the Form_Load event is the code that creates the two ADO Commandobjects used in the project:

QSQL = “Select Item_Number, Depot_Number From adooracle Where ” _& “item_number = ?”Set CPw1 = New ADODB.CommandWith CPw1.ActiveConnection = Cn.CommandText = QSQL.CommandType = adCmdText.Parameters.Append .CreateParameter(, adInteger, adParamInput)End WithQSQL = “adoinsert”Set CPw2 = New ADODB.CommandWith CPw2.ActiveConnection = Cn.CommandText = QSQL.CommandType = adCmdStoredProc.Parameters.Append .CreateParameter(, adInteger, adParamInput).Parameters.Append .CreateParameter(, adDouble, adParamOutput)End With The first Command object (CPw1) is a simple parameterized query. TheCommandText has one parameter that is the item_number for the where clause.Note that the CommandType is set to adCmdText. This is different than theadCmdStoredProc CommandType in the second Command object (CPw2). The following is from the ADO Help HTML file:
“Use the CommandType property to optimize evaluation of the CommandTextproperty. If the CommandType property value equals adCmdUnknown (thedefault value), you may experience diminished performance because ADO mustmake calls to the provider to determine if the CommandText property is anSQL statement, a stored procedure, or a table name. If you know what typeof command you’re using, setting the CommandType property instructs ADO togo directly to the relevant code. If the CommandType property does notmatch the type of command in the CommandText property, an error occurs whenyou call the Execute method.”Using the WITH command, you can create and append parameters to the commandobject easily. The first parameter of the CreateParameter function is forthe name of the parameter. This has been left blank because the sampleprogram uses the index of the parameters collection to identify theindividual parameters (such as CPw1(0) to identify the first parameter).The sample program uses adInteger and adDouble datatypes. If it had used avariable length datatype, then the size parameter of the CreateParameterfunction would need to be set. Again, from the ADO Help HTML:
“If you specify a variable-length data type in the Type argument, you musteither pass a Size argument or set the Size property of the Parameterobject before appending it to the Parameters collection; otherwise, anerror occurs.”The remainder of the project is fairly straightforward and well-documentedin both the Online Help file and Books Online which come with Visual Basic.The ADO issues that are critical to working with Oracle (the connectstring and the calling of stored procedures) have been detailed in thisproject.