하나의 열이 유형 URI로 지정된 데이터 테이블을 만들었습니다. 이는 나중에 테이블을 WPF의 그리드에 바인딩하기위한 소스로 사용하고 하이퍼 링크가있는 그리드 열을 자동 생성하기 때문입니다. SQL Server 데이터베이스에서이 datatable을 채우려면 어떻게해야합니까?SQL의 URI 데이터 유형 열을 사용하여 데이터 테이블을 채우려면 어떻게해야합니까?
가 여기 내 예제 코드입니다 : -
_tblMarketPlaces = new DataTable("MarketPlaces");
_tblMarketPlaces.Columns.Add("MarketPlaceID");
_tblMarketPlaces.Columns.Add("MarketPlaceIdentifier");
_tblMarketPlaces.Columns.Add("MarketPlaceName");
_tblMarketPlaces.Columns.Add("MarketPlaceHomeUri",typeof(Uri));
_tblMarketPlaces.Columns.Add("DisplayPriorityOrder");
_tblMarketPlaces.Clear();
_tblMarketPlaces.Rows.Add(0, "N/A", "Unknown", DBNull.Value, 0);
SqlConnection DB = ArtContentManager.Static.Database.DBReadOnly;
string sqlSelectMarketPlaces = "Select * from MarketPlaces Order By DisplayPriorityOrder";
SqlCommand cmdSelectMarketPlaces = new SqlCommand(sqlSelectMarketPlaces, DB);
SqlDataAdapter sdaMarkePlace = new SqlDataAdapter(cmdSelectMarketPlaces);
sdaMarkePlace.Fill(_tblMarketPlaces);
문제는 MarketPlaceHomeUri의 데이터 유형은 데이터베이스에 NVARCHAR이며, URI로 인식되지 않기 때문에 마지막 채우기 문이 실패합니다. 채우기의 데이터를 변환하도록 DataAdapter를 설득 할 수있는 방법이 있습니까?
[다른 접근법은 단순히 필드에 텍스트를 사용하고 내 WPF Xaml에서 명시 적으로 형식을 지정하는 것이지만 자동 생성 된 열을 사용하고 싶습니다. 데이터를 데이터 테이블로]
SQL, 데이터 테이블 및 오류 처리 논리 자체에서 데이터 정렬에 종속되어 있으므로 처음에는 열 자동 생성의 요점을 다소 약화시키고 테이블 구조 (예 : 변경되지만, 좀 더 일반적인 것으로 만드는 방법이있을 수 있습니다. 또한 모든 행에 대해 오류가 발생할 것으로 예상된다면 정말 좋은 디자인입니까? 하지만 적어도 가능한 해결책은 ... – DMFW