ASP.NET 데이터 그리드에 바인딩하기 위해 followng 코드를 사용하고 있습니다. 나는 다음과 같은 일을하지만 이것이 최선의 접근 방법인지 궁금해한다. 걱정스럽지 않은 점은 연결을 열지 않았으며 DataReader를 사용하지 않았다는 것입니다. 이 코드는 내 코드 숨김 페이지에 기록됩니다.asp.net 최상의 바인딩 접근 방식
string strConn = ConfigurationManager.ConnectionStrings["SQL1"].ConnectionString;
SqlDataSource DataSource1 = new SqlDataSource();
DataSource1.ConnectionString = strConn;
DataSource1.SelectCommand = "SELECT * FROM tblTruck where LocId = @LocID ";
DataSource1.SelectParameters.Add(new Parameter("LocId", System.TypeCode.String, value));
Grid1.DataSource = DataSource1.Select(DataSourceSelectArguments.Empty);
Grid1.Rebind();
당신이 언급했듯이 - 스타일러스 적으로, SQL 코드를 UI에 하드 코딩하는 것은 결코 좋은 생각이 아니지만, 연결하는 대신 매개 변수를 사용하는 것이 좋습니다. - 제가 작성한 것은 코드 숨김 페이지입니다. 그렇기 때문에 괜찮습니다. UI를 말할 때 .aspx 페이지 대 .aspx.cs 페이지를 언급하고 있습니까? –
개인적으로 DB 백엔드 또는 설정 파일에 따라 저장 프로 시저로 푸시해야하므로 코드베이스를 재배치하지 않고도 조정할 수 있습니다. 한 번 앱을 작성한 인턴이 있었는데 다른 개발자가 그리드에 기반하여 가치가 중복된다는 관점을 엉망으로 만들 때까지는 효과가있었습니다. 뷰를 복구 할 때까지 DISTINCT를 패치하기 위해 스토어드 프로 시저에 DISTINCT를 추가 할 수있을 것이라고 생각했지만 SQL을 임베드 한 이후 코드베이스를 찾아야 만 모든 작업, 재 컴파일 및 재배포 방법을 파악할 수있었습니다. 데이터베이스는 시간이 지남에 따라 많이 바뀝니다. –
@Fred Thomas- 감사합니다. - .aspx 파일 자체 내에 SQL을 갖는 것에 대한 귀하의 견해는 무엇입니까? 너도 좋은 연습이 아니라고 생각하니? .cs 파일에 저장하는 것이 더 좋습니까? (나는 저장 프로 시저에서 가장 좋은 방법을 알고 있지만 다른 유형에 대한 입력을 원한다는 것을 알고있다.) –