Visual C++ .NET/Database ADO.net/SqlDataReader
Read scalar
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Data; using namespace System::Data::SqlClient; using namespace System::Configuration; void main() {
SqlConnection ^connection = gcnew SqlConnection(); connection->ConnectionString = "SQLConnection"; try{ SqlCommand ^cmd = gcnew SqlCommand(); cmd->Connection = connection; connection->Open(); cmd->CommandType = CommandType::Text; cmd->CommandText = "SELECT COUNT(*) FROM Authors"; Object ^NumAuthors = cmd->ExecuteScalar(); Console::WriteLine("The number of Authors are {0}", NumAuthors); cmd->CommandType = CommandType::Text; cmd->CommandText = "SELECT SUM(AuthorID) FROM Authors"; Object ^UselessNum = cmd->ExecuteScalar(); Console::WriteLine("The Sum of AuthorIDs for fun is {0}", UselessNum); } catch (SqlException ^e) { Console::WriteLine("No connection the following error occurred: {0}", e->Message); } finally { connection->Close(); }
}
</source>
Read SqlDataReader by column name
<source lang="csharp">
- include "stdafx.h"
using namespace System; using namespace System::Data; using namespace System::Data::SqlClient; using namespace System::Configuration; void main(){
String ^Name = "Doors"; SqlConnection ^connection = gcnew SqlConnection(); connection->ConnectionString = "SQLConnection"; try{ SqlCommand ^cmd = gcnew SqlCommand(); cmd->Connection = connection; cmd->CommandType = CommandType::Text; cmd->CommandText =String::Format("SELECT FirstName, LastName FROM Authors WHERE LastName = "{0}"",Name); connection->Open(); SqlDataReader ^reader = cmd->ExecuteReader(); while(reader->Read()){ Console::WriteLine("{0} {1}",reader["FirstName"], reader["LastName"]); } reader->Close(); // CREATE PROCEDURE dbo.StoriesWhereLastName(@LastName NVARCHAR(32) = NULL) AS // SELECT StoryID, Headline, Story FROM Stories WHERE LastName = @LastName // RETURN cmd->CommandType = CommandType::StoredProcedure; cmd->CommandText = "StoriesWhereLastName"; cmd->Parameters->Add(gcnew SqlParameter("@LastName",SqlDbType::VarChar)); cmd->Parameters["@LastName"]->Value = Name; reader = cmd->ExecuteReader(); while(reader->Read()) { Console::WriteLine(reader["StoryID"]); Console::WriteLine(reader["Headline"]); Console::WriteLine(reader["Story"]); Console::WriteLine(); } reader->Close(); } catch (SqlException ^e) { Console::WriteLine("No connection the following error occurred: {0}", e->Message); } finally { connection->Close(); }
}
</source>