0

オンラインでMS SQLデータベースに接続する方法はたくさんあります。私はweb.configで接続文字列を使用しています。私たちが望むものを完全にうまく処理していて、次のようなものです:ASPデータベースの接続に関する質問

<connectionStrings> 
    <add name="xxx" 
     connectionString="SERVER=xxx;UID=xxx;Trusted_Connection=Yes;DATABASE=xxx;" 
     providerName="xxx" /> 
</connectionStrings> 

これは接続に最適な方法ですか?私はその後、私の質問は

  1. あるほとんど

    GridViewの
    <asp:SqlDataSource ID="MatchDataSource" Runat="server" 
    
          SelectCommand="SELECT * FROM [xxx].[Matcxxxh]" 
          UpdateCommand="UPDATE [xxx].[Matxxxch] SET [xxx] = 
           @xxx, [xxx] = @xxx, [xxx] = 
           @xxx WHERE [email protected] [email protected]" 
          ConnectionString="<%$ ConnectionStrings:xxx %>"> 
          <UpdateParameters> 
           <asp:Parameter Type="String" Name="CSISN"/> 
           <asp:Parameter Type="String" Name="ProcName"/> 
    
          </UpdateParameters> 
         </asp:SqlDataSource> 
    
         <asp:GridView ID="GridView1" Runat="server" 
          DataSourceID="MatchDataSource" Width="100%"> 
          <RowStyle BackColor="white" ForeColor="black" Font-Italic="false" BorderColor="Black" /> 
    
    
          <Columns> 
    
           <asp:TemplateField SortExpression="xxx" HeaderText="xxx"> 
            <EditItemTemplate> 
             <asp:TextBox ID="editxxx" Runat="server" Text='<%# Bind("xxx") %>' 
              MaxLength="15" ToolTip="Enter CSI SN"></asp:TextBox> 
             <asp:RequiredFieldValidator ID="RequiredFieldValidator1" Runat="server" ErrorMessage="You must provide a xxx." ControlToValidate="editxxx">*</asp:RequiredFieldValidator> 
            </EditItemTemplate> 
            <ItemTemplate><asp:Label Runat="server" Text='<%# Bind("CSISN") %>' ID="Label1"></asp:Label></ItemTemplate> 
           </asp:TemplateField> 
    

    を使用して、ASPのWebフォームアプリケーションでそれを使用すると、私は正確にこのことについてあるだろうよ?

  2. 誰かがベストプラクティスを示す適切なチュートリアルを教えてくれますか?
  3. スクリプトの実行が終了したら、最後に接続を閉じるにはどうすればよいですか?

答えて

2
  1. これは、設定から接続文字列を使用する多くの方法のです。それには何も問題はありません。よく見えます。

  2. いいえ、これは主観的なものであり、ここで回答するものではありません。

  3. スクリプトが終了すると接続が終了します。あなたは何もする必要はありません(SqlDataSourceはすべての細部を担当します)。

0

私はSqlDataSourceを使用することに反対します。

はい、そのページでうまくいきます。しかし、コールを別のページで使用する必要がある場合は、コピーして貼り付けることになります。

データベースへの呼び出しを行い、ListまたはIEnumerableとして返すクラスを作成することをお勧めします。その後、そのクラスを使用して、コードの中にデータソースを割り当てることができます。

以下は、エンティティフレームワークを使用してデータを照会する小さな例です。


データアクセスクラス

public static class DataAccess 
{ 
    public static List<Section> GetDataFromDatabase() 
    { 
     List<Section> recordList; 
     using (CustomEntities context = new CustomEntities()) 
     { 

      IQueryable<Section> query = from records in context.Records 
               select sections; 
      recordList= query.ToList<Record>(); 
     } 
     return recordList; 
    } 
} 

コードビハインドの使用

private void BindLists() 
    { 
     // Get the data 
     List<Section> theData = DataAccess.GetDataFromDatabase(); 

     // Assign the data source 
     gridView.DataSource = theData; 

     // Bind the grid view 
     gridView.DataBind(); 
    } 

この方法では、アプリケーション全体でより多くの再利用を提供し、変更が非常に簡単になります。

関連する問題