C# Code Snippet - Get First Row As Object Array From SqlDataReader
(C-Sharp) C# code snippet execute a SQL statement using open database connection and return all the columns data in SqlDataReader for first row. GetSqlDataReaderFirstRow execute and close SqlDataReader and returns first data row as a dictionary object array.
Bookmark:
C# Code Snippet - Get First Row As Object Array From SqlDataReader
This .Net C# code snippet execute a SQL statement using open database connection and return all the columns data in SqlDataReader for first row. Additional rows are ignored. This function is useful for query for one data record row, after querying function will convert data row into dictionary object array and close SqlDataReader. Conversion of SqlDataReader into dictionary object array and closing SqlDataReader allows to create multiple object arrays without having to worry about opening more than one SqlDataReader for SQL Server. To use this function simply provide open database connection and SQL statement. This function uses SqlClient name space to get data using SqlDataReader. Modify the exception handling section for your project requirements.
public Dictionary<string, object> GetSqlDataReaderFirstRow( ref System.Data.SqlClient.SqlConnection _SqlConnection, string _SQL) { // temporary dictionary object array to hold SqlDataReader first row Dictionary<string, object> _FirstRow = new Dictionary<string, object>(); // Set temporary variable to create data reader System.Data.SqlClient.SqlDataReader _SqlDataReader = null; // lets run the given SQL statement and get the data to SqlDataReader try { // Pass the connection to a command object System.Data.SqlClient.SqlCommand _SqlCommand = new System.Data.SqlClient.SqlCommand(_SQL, _SqlConnection); // get query results _SqlDataReader = _SqlCommand.ExecuteReader(); } catch (Exception _Exception) { // Error occurred while trying to execute reader // send error message to console (change below line to customize error handling) Console.WriteLine(_Exception.Message); // failed SQL execution, lets return null return null; } // SQL successfully executed, lets return the SqlDataReader First Data Row if (_SqlDataReader != null && _SqlDataReader.HasRows && _SqlDataReader.Read()) { // put the first data row in a temporary object array before close SqlDataReader for (int _Column = 0; _Column <= _SqlDataReader.FieldCount - 1; _Column++) { try { // Add each colum to dictionary _FirstRow.Add(_SqlDataReader.GetName(_Column), _SqlDataReader[_Column]); } catch { } } // close SqlDataReader _SqlDataReader.Close(); _SqlDataReader.Dispose(); return _FirstRow; } else { if (_SqlDataReader != null) { // close SqlDataReader _SqlDataReader.Close(); _SqlDataReader.Dispose(); } // no data found, return null return null; } }
Here is a simple example showing how to use above function (GetSqlDataReaderFirstRow) to connect to SQL database and get Dictionary Object Array for given SQL statement.
// set temporary variable for database connection System.Data.SqlClient.SqlConnection _SqlConnection = new System.Data.SqlClient.SqlConnection(); // assign database connection string _SqlConnection.ConnectionString = "Server=SERVERADDRESS;Database=DATABASENAME;Uid=USERID;Pwd=PASSWORD;"; // Connect to database try { _SqlConnection.Open(); } catch (Exception _Exception) { // Error occurred while trying to connect to database Console.WriteLine(_Exception.Message); } // Check for valid open database connection before query database if (_SqlConnection != null && _SqlConnection.State == ConnectionState.Open) { // Lets call above function to create a new SqlDataReader // using open database connection and SQL statement Dictionary<string, object> _SqlDataReaderFirstRow = GetSqlDataReaderFirstRow( // Pass open database connection to function ref _SqlConnection, // Pass SQL statement to create SqlDataReader "SELECT NAME, PRICE, COST FROM INVENTORY"); // Check we have data if (_SqlDataReaderFirstRow != null && _SqlDataReaderFirstRow.Count > 0) { Console.WriteLine(_SqlDataReaderFirstRow["NAME"].ToString()); } // close database connection _SqlConnection.Close(); }
C# Keywords Used:
- SqlDataReader
- SqlConnection
- ConnectionString
- SqlCommand
- ExecuteReader
- Exception
- Dictionary
- try catch
- for
- GetName
Code Snippet Information:
- Applies To: .Net, C#, CLI, SQL, SqlDataReader, SQL Server, SQL Client, Database Connection, SQL Data Reader, Object Array
- Programming Language : C# (C-Sharp)
External Resources: