2017-03-28 1 views
0
나는 Visual Studio에서 디자이너를 사용하여 데이터를이 테이블을 채운 which I have created by following this guide.

내 프로그램이나 실행 파일에 읽기 전용 데이터베이스를 어떻게 포함시킬 수 있습니까?

내가 로컬 데이터베이스에서 데이터를 읽는 작은 창 형태로 프로그램을하고 있어요

, 더 능력 (도 이제까지있을 것)이 없다 프로그램이 런타임에이 데이터베이스를 런타임에 변경하기 위해 정적 인 알려진 데이터를 나타냅니다. 생성자에서 각 테이블 행 객체의 인스턴스를 어딘가에 하드 코딩하면 동일한 결과를 얻을 수 있습니다.

내 솔루션을 빌드 할 때 Visual Studio에서 두 개의 파일 (양식을 여는 .exe 및 데이터베이스 테이블이있는 .mdf 파일)을 생성합니다.

두 가지 관련 질문 - 이러한 종류의 읽기 전용 데이터가있는 데이터베이스를 사용하는 것이 맞습니까? 그렇다면 .MDF 파일을 .exe 파일로 결합하는 방법이 있습니까? 다시 말하지만, 제로 데이터를 수정할 필요가 있으므로 수정할 수없는 사실을 방지 할 필요가 없다고 생각합니다.

+1

데이터베이스 사용 방법에 따라 다릅니다. 플랫 정보 저장소로만 사용하고 모든 데이터를 메모리에 한 번만로드하면 데이터베이스가 좋지 않은 것으로 의심됩니다. 대안으로 일부 XML을 리소스로 포함 할 수 있습니다. http://stackoverflow.com/questions/2820384/reading-embedded-xml-file-c-sharp –

+0

데이터베이스 파일은 데이터베이스 엔진에서만 처리 할 수 ​​있으므로 실행 파일에이 파일을 넣을 필요가 없습니다. 데이터가 충분히 저장되어 테이블을 저장하는 것이 여전히 의미가있는 경우 [SQLite] (https://system.data.sqlite.org/)와 같은 더 가벼운 옵션을 살펴볼 수 있습니다 (예 : XML 자원). –

+0

@AlexK. 그것은 평면이 아니지만, XML (또는 JSON, 아마도 짐작 하시겠습니까?) 리소스 파일은 아마 훨씬 더 의미가 있습니다. 유용한 링크입니다. 고마워요. –

답변

1

예 이렇게 할 수 있습니다. 하지만 먼저 데이터 집합을 구성해야합니다. 나는 당신의 데이터를 SQL 또는 유사하게 만든 다음 XSD 스키마와 함께 XML로 내보낼 것입니다.

그런 다음 Visual Studio에서 DataSet 개체를 프로젝트에 추가합니다.

그런 다음 DataSet 개체와 통신하고 XSD 및 XML을 사용하여 데이터를 채울 수 있습니다.

https://msdn.microsoft.com/en-us/library/atchhx4f(v=vs.110).aspx

다음 자원 정적 클래스를 통해 액세스, 모든 .EXE 내에서이 유지 리소스 파일에 XML 데이터를 포함합니다.

+0

데이터베이스에서 XML로 내보내기가 훌륭합니다. 나는 그것이 내가 필요로하는 정확하게 것이다라고 생각한다! Visual Studio 내에서이를 수행 할 수있는 방법이 있습니까? –

+0

잘 모르겠습니다. 나는 항상 SQL 명령 줄 "sqlcmd -S -i input.sql -o output.xml"을 사용했습니다. –

+0

SQL에 XML ON 특성을 추가해야합니다. –

관련 문제