This article contains a generic function that you can use to process multiple recordsets and other messages that are returned from stored procedures or the execution of batch SQL statements.
- Number of records that are modified by an action query (such as INSERT, UPDATE, DELETE, or SELECT INTO)
- Informational message or warning
- Error message
- Stored procedure return values and output parameters
- Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, or Windows NT 4.0 Server
- Microsoft Visual Studio .NET
- Microsoft SQL Server 7.0 or later
- Visual Studio .NET
- ADO.NET fundamentals and syntax
- Paste the following statements into the SQL Query Analyzer tool or the ISQL utility:
CREATE PROC MyProc
SELECT * FROM Authors
SELECT * FROM Authors WHERE State = 'CA'
- Start Visual Studio .NET.
- Create a new Windows Application project in Visual C# .NET. Form1 is added to the project by default.
- Make sure that your project contains a reference to the System.Data namespace, and add a reference to this namespace if it does not.
- Place a Command button on Form1. Change the Name property of the button to btnTest, and change the Text property to Test.
- Use the using statement on the System, System.Data.OleDb, and System.Data.SqlClient namespaces so that you are not required to qualify declarations in those namespaces later in your code. Add the following code to the General Declarations section of Form1:
- Add the following code to the btnTest_Click event:
Note You must change the User ID <user name> account value to an account that has the appropriate permissions to perform these operations on the database.
String myConnString = "User ID=<username>;password=<strong password>;Initial Catalog=pubs;Data Source=myServer";
SqlConnection myConnection = new SqlConnection(myConnString);
SqlCommand myCommand = new SqlCommand();
SqlDataReader myReader ;
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Connection = myConnection;
myCommand.CommandText = "MyProc";
myReader = myCommand.ExecuteReader();
//Write logic to process data for the first result.
RecordCount = RecordCount + 1;
MessageBox.Show("Total number of Authors: " + RecordCount.ToString());
RecordCount = 0;
//Write logic to process data for the second result.
RecordCount = RecordCount + 1;
MessageBox.Show("Authors from California: " + RecordCount.ToString());
- Modify the Connection string (myConnString) as appropriate for your environment.
- Save your project. On the Debug menu, click Start to run your project.
- Click Test. Notice that the messages boxes display the data that the stored procedure returns.
For additional information about calling stored procedures, click the article number below to view the article in the Microsoft Knowledge Base:
306574 How To Call SQL Server Stored Procedures in ASP.NETFor additional information about error handling, click the article number below to view the article in the Microsoft Knowledge Base:
308650 How To Obtain Underlying Provider Errors by Using ADO.NET in Visual C# .NETFor additional information about parameters and stored procedures, click the article number below to view the article in the Microsoft Knowledge Base:
308621 PRB: Output Parameters Are Not Returned When You Run an ADO.NET Command in Visual C# .NETFor more information on ADO.NET objects and syntax, refer to the following Microsoft .NET Framework Software Development Kit (SDK) documentation:
Accessing Data with ADO.NET