Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

SqlDataSource.ConnectionString propriété

 

Date de publication : novembre 2016

Obtient ou définit la chaîne de connexion spécifique au fournisseur ADO.NET que le SqlDataSource contrôle utilise pour se connecter à une base de données sous-jacente.

Espace de noms:   System.Web.UI.WebControls
Assembly:  System.Web (dans System.Web.dll)

public virtual string ConnectionString { get; set; }

Valeur de propriété

Type: System.String

Chaîne spécifique au fournisseur de données .NET Framework le SqlDataSource pour se connecter à la base de données SQL qu’il représente. La valeur par défaut est une chaîne vide ("").

Le SqlDataSource contrôle peut être utilisé avec divers fournisseurs ADO.NET et la syntaxe de la chaîne de connexion qui est utilisée pour se connecter à une source de données sous-jacente est spécifique au fournisseur.

Lorsque vous configurez un SqlDataSource contrôle, vous définissez la ProviderName type à la propriété de base de données (la valeur par défaut est System.Data.SqlClient), et que vous définissez le ConnectionString propriété à une chaîne de connexion qui inclut les informations requises pour se connecter à la base de données. Le contenu d’une chaîne de connexion diffère selon le type de base de données accède au contrôle de source de données. Par exemple, le SqlDataSource contrôle nécessite un nom de serveur, nom de la base de données (catalogue) et des informations authentifier l’utilisateur lors de la connexion à SQL Server. Pour plus d’informations sur le contenu de chaînes de connexion, consultez le ConnectionString propriété pour la SqlConnection (classe), ConnectionString propriété pour la OracleConnection (classe), ConnectionString propriété pour la OleDbConnection (classe), ou le ConnectionString propriété pour la OdbcConnection classe.

Si vous modifiez le ConnectionString propriété, le DataSourceChanged événement est déclenché et tous les contrôles qui sont liés à la SqlDataSource contrôle à relier.

System_CAPS_security Sécurité Remarque

Pour plus d’informations sur le stockage d’une chaîne de connexion, consultez How To: Secure Connection Strings when Using Data Source Controls.

Cette section contient deux exemples de code. Le premier exemple de code montre comment définir le ConnectionString propriété pour se connecter à une base de données Microsoft SQL Server et afficher les résultats de la SelectCommand propriété dans un GridView contrôle. Le deuxième exemple de code illustre un scénario plus complexe, où un SqlDataSource contrôle est utilisé pour afficher et mettre à jour des données dans une base de données Microsoft Access protégé par mot de passe. Dans chaque cas, le connectionStrings élément du fichier Web.config est indiqué en premier, suivie de la page ASP.NET qui contient le SqlDataSource contrôle.

L’exemple de code suivant montre comment définir le ConnectionString propriété pour se connecter à une base de données SQL Server et afficher les résultats de la SelectCommand propriété dans un GridView contrôle.

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:SqlDataSource
          id="SqlDataSource1"
          runat="server"
          DataSourceMode="DataReader"
          ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
          SelectCommand="SELECT FirstName, LastName, Title FROM Employees">
      </asp:SqlDataSource>

      <asp:GridView
          id="GridView1"
          runat="server"
          DataSourceID="SqlDataSource1">
      </asp:GridView>

    </form>
  </body>
</html>

L’exemple de code suivant illustre un scénario plus complexe que l’exemple de code précédent, où un SqlDataSource contrôle est utilisé pour afficher et mettre à jour des données dans une base de données protégé par mot de passe. Étant donné que le SqlDataSource est utilisé avec Access, le ProviderName est définie sur le System.Data.OleDb fournisseur et le ConnectionString est définie sur une chaîne de connexion appropriée pour une base de données Access partagée par UNC. Un GridView contrôle affiche les commandes avec des dates d’expédition. Vous pouvez mettre à jour une commande en cochant la case à cocher appropriée, puis en cliquant sur les mise à jour bouton.

System_CAPS_importantImportant

Cet exemple inclut un mot de passe en texte brut uniquement à des fins d’illustration. Dans une application de production, les chaînes de connexion qui incluent des mots de passe doivent être chiffrées. Pour plus d'informations, consultez Protection des informations de connexion.

<%@Page  Language="C#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
private void UpdateRecords(Object source, EventArgs e)
{
  // This method is an example of batch updating using a
  // data source control. The method iterates through the rows
  // of the GridView, extracts each CheckBox from the row and, if
  // the CheckBox is checked, updates data by calling the Update
  // method of the data source control, adding required parameters
  // to the UpdateParameters collection.
  CheckBox cb;
  foreach(GridViewRow row in this.GridView1.Rows) {
    cb = (CheckBox) row.Cells[0].Controls[1];
    if(cb.Checked) {
      string oid = (string) row.Cells[1].Text;
      MyAccessDataSource.UpdateParameters.Add(new Parameter("date",TypeCode.DateTime,DateTime.Now.ToString()));
      MyAccessDataSource.UpdateParameters.Add(new Parameter("orderid",TypeCode.String,oid));
      MyAccessDataSource.Update();
      MyAccessDataSource.UpdateParameters.Clear();
    }
  }
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

<!-- Security Note: The SqlDataSource uses a QueryStringParameter,
     Security Note: which does not perform validation of input from the client.
     Security Note: To validate the value of the QueryStringParameter, handle the Selecting event. -->

      <asp:SqlDataSource
        id="MyAccessDataSource"
        runat="server"
        ProviderName="<%$ ConnectionStrings:MyPasswordProtectedAccess.providerName%>"
        ConnectionString="<%$ ConnectionStrings:MyPasswordProtectedAccess%>"
        SelectCommand="SELECT OrderID, OrderDate, RequiredDate, ShippedDate FROM Orders WHERE EmployeeID=?"
        UpdateCommand="UPDATE Orders SET ShippedDate=? WHERE OrderID = ?">
        <SelectParameters>
          <asp:QueryStringParameter Name="empId" QueryStringField="empId" />
        </SelectParameters>
      </asp:SqlDataSource>

      <asp:GridView
        id ="GridView1"
        runat="server"
        DataSourceID="MyAccessDataSource"
        AllowPaging="True"
        PageSize="10"
        AutoGenerateColumns="False">
          <columns>
            <asp:TemplateField HeaderText="">
              <ItemTemplate>
                <asp:CheckBox runat="server" />
              </ItemTemplate>
            </asp:TemplateField>
            <asp:BoundField HeaderText="Order" DataField="OrderID" />
            <asp:BoundField HeaderText="Order Date" DataField="OrderDate" />
            <asp:BoundField HeaderText="Required Date" DataField="RequiredDate" />
            <asp:BoundField HeaderText="Shipped Date" DataField="ShippedDate" />
          </columns>
      </asp:GridView>

      <asp:Button
        id="Button1"
        runat="server"
        Text="Update the Selected Records As Shipped"
        OnClick="UpdateRecords" />

      <asp:Label id="Label1" runat="server" />

    </form>
  </body>
</html>
<script runat="server">
private void UpdateRecords(Object source, EventArgs e)
{
  // This method is an example of batch updating using a
  // data source control. The method iterates through the rows
  // of the GridView, extracts each CheckBox from the row and, if
  // the CheckBox is checked, updates data by calling the Update
  // method of the data source control, adding required parameters
  // to the UpdateParameters collection.
  CheckBox cb;
  foreach(GridViewRow row in this.GridView1.Rows) {
    cb = (CheckBox) row.Cells[0].Controls[1];
    if(cb.Checked) {
      string oid = (string) row.Cells[1].Text;
      MyAccessDataSource.UpdateParameters.Add(new Parameter("date",TypeCode.DateTime,DateTime.Now.ToString()));
      MyAccessDataSource.UpdateParameters.Add(new Parameter("orderid",TypeCode.String,oid));
      MyAccessDataSource.Update();
      MyAccessDataSource.UpdateParameters.Clear();
    }
  }
}
</script>

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: