SqlExecutorExtensions.Scalar<TValue>(string sqlText, out SqlResult resultSet, params object[] parameters) Method
.NET Standard 2.x
Executes the SQL SELECT statement and returns the first column of the first row in the result set. All other columns and rows are ignored.
Namespace: PowerScript.Bridge
Assembly: PowerScript.Bridge.dll
Syntax
public static TValue Scalar<TValue>(this ISqlExecutor sqlExecutor, string sqlText, out SqlResult resultSet, params object[] parameters)
Parameters
sqlText
System.String
A raw SQL statement which contains the parameter placeholders.
The proper syntax of a parameter placeholder is specific to the data source (e.g., @newFirstName
for SQL Server). To make a parameterized SQL (e.g., update Person set FirstName = @newFirstName where PersonId = 1
), these placeholders are filled in with the actual parameter values when the SQL statement is executed.
resultSet
PowerScript.Bridge.SqlResult
The result of the SQL execution.
parameters
System.Object[]
(Optional) One or more ParamValue objects which contain the values corresponding to the SQL parameter identifier names.
You can also pass the arguments directly in the order in which each parameter identifier name appears in sqlText
for the first time, without using the ParamValue object.
Returns
TValue
Returns the value of the first column of the first row in the result set. Returns a null
, if no data is found in the result set.
Examples
The following code example demonstrates how to use the Scalar
method to execute a stored procedure and return the value of the first column in the first row of the result set.
using System;
using PowerScript.Bridge;
namespace Appeon.ApiDoc.ISqlExecutorExtensionsExamples
{
public class ScalarExample
{
private readonly SchoolContext _context;
public ScalarExample(SchoolContext dataContext)
{
// Sets the data context
_context = dataContext;
}
public void Example()
{
// Defines the SQL statement.
var sql = "select title from Course where CourseID = @CourseID";
// Defines a parameter for the SQL statement.
int courseID = 2042;
// Executes the SQL statement and returns the result which is stored in the SqlResult object.
var title = _context.SqlExecutor.Scalar<string>(sql, out SqlResult resultSet, courseID);
Console.WriteLine($"Title = {title}, SqlResult SqlCode = {resultSet.SqlCode}");
/*This code produces the following output:
Title = Literature, SqlResult SqlCode = 0
*/
}
}
}
Applies to
.NET Standard
2.x