SqlDataSource Constructor (String, String)


Initializes a new instance of the SqlDataSource class with the specified connection string and Select command.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public SqlDataSource(
	string connectionString,
	string selectCommand


Type: System.String

The connection string used to connect to the underlying database.

Type: System.String

The SQL query used to retrieve data from the underlying database. If the SQL query is a parameterized SQL string, you might need to add Parameter objects to the SelectParameters collection.

Because different database products use different varieties of SQL, the syntax for selectCommand depends on the current ADO.NET provider being used, which is identified by the ProviderName property. If the SQL string is a parameterized query or command, the placeholder of the parameter also depends on the ADO.NET provider being used. For example, if the provider is the System.Data.SqlClient, which is the default provider for the SqlDataSource class, the placeholder of the parameter is '@parameterName'. However, if the provider is set to the System.Data.Odbc or the System.Data.OleDb, the placeholder of the parameter is '?'. For more information about parameterized SQL queries and commands, see Using Parameters with the SqlDataSource Control.

The SelectCommand value can be an SQL string or the name of a stored procedure, if the data source supports stored procedures.

The following code example demonstrates how to create a SqlDataSource control using the SqlDataSource constructor. The example is unusual in that the SqlDataSource control is being used not on a Web Forms page, but in the implementation of a middle-tier object as a simple way for a business object to interact with a database. The example uses a connection string that is stored in the Web.config file.

This code example is part of a larger example provided for the ObjectDataSource class.

// Returns a collection of NorthwindEmployee objects.
public static ICollection GetAllEmployees () {
  ArrayList al = new ArrayList();

  ConnectionStringSettings cts = ConfigurationManager.ConnectionStrings["NorthwindConnection"];

  SqlDataSource sds
    = new SqlDataSource(cts.ConnectionString, "SELECT EmployeeID FROM Employees");

  try {

    IEnumerable IDs = sds.Select(DataSourceSelectArguments.Empty);

    // Iterate through the Enumeration and create a
    // NorthwindEmployee object for each ID.
    foreach (DataRowView row in IDs) {
      string id = row["EmployeeID"].ToString();
      NorthwindEmployee nwe = new NorthwindEmployee(id);
      // Add the NorthwindEmployee object to the collection.
  finally {
    // If anything strange happens, clean up.

  return al;

.NET Framework
Available since 2.0
Return to top