Visual C++ .NET/Database ADO.net/Stored Procedure
Calling Stored Procedure
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Data; using namespace System::Data::SqlClient; void main() {
SqlConnection^ myConnection = nullptr; try { myConnection = gcnew SqlConnection("Data Source=localhost;Database=UltraMax; UID=sa; PWD="); myConnection->Open(); SqlCommand^ myCommand = gcnew SqlCommand("GetMusicByGenre",myConnection); myCommand->CommandType = CommandType::StoredProcedure; SqlCommandBuilder::DeriveParameters(myCommand); for ( int i = 0; i < myCommand->Parameters->Count; i++ ) Console::WriteLine("Name={0}; Type={1}; Direction={2}", myCommand->Parameters[i]->ParameterName, myCommand->Parameters[i]->DbType, myCommand->Parameters[i]->Direction); myCommand->Parameters->Clear(); myCommand->Parameters->Add("@Genre", SqlDbType::Char); myCommand->Parameters["@Genre"]->Value = "Classical"; SqlParameter^ returnValue = gcnew SqlParameter("RETURN_VALUE",SqlDbType::Int); returnValue->Direction = ParameterDirection::ReturnValue; myCommand->Parameters->Add(returnValue); myCommand->ExecuteNonQuery(); Console::WriteLine("Count = {0}",myCommand->Parameters["RETURN_VALUE"]->Value); } catch(Exception^ e) { Console::WriteLine(e->Message); } finally { myConnection->Close(); }
}
</source>