0

나는 MS SQL 데이터베이스에 온라인으로 연결하는 많은 방법을 찾고 있습니다. web.config에서 연결 문자열을 사용하고 있습니다. 우리가 원하는 바를 위해 완벽하게 작동하며 다음과 같이 보입니다.ASP 데이터베이스 연결 질문

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

연결하는 가장 좋은 방법입니까? 그때

  1. 내가이 올바르게에 대해 건가 ASP 웹 형태의 응용 프로그램은 대부분의 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> 
    

    내 질문을 사용하여 그것을된다 사용하고 있습니다?

  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(); 
    } 

이 방법은 응용 프로그램을 통해 더 재사용을 제공하고, 수는 훨씬 쉽게 변경합니다.