2014-01-16 1 views
0

에 C# 응용 프로그램을 설치할 때 프로그래밍 방식으로 데이터베이스 및 테이블을 만드는 방법, 나는 모든 것을 완성하지만 난 문제를 알아낼 수 있고, 문제는 :는 SQL Server Express를 사용하여나는 완료하는 응용 프로그램이 클라이언트

임 2008 R2는 데이터베이스로 나는 클라이언트에 데이터베이스 엔진을 설치하지만 데이터베이스와 테이블을 만드는 방법은 응용 프로그램이 실행될 때마다 실행할 수 없기 때문에 내 컴퓨터에서 모든 것을 만들 수 있습니다. 새로운 Sql Server Express 2008 R2 설치를 실행하기 때문에 좋은 결과를 얻었습니다. 이것을하는 연습? :

예 : 내 첫 번째 폼이로드는 첫 번째 형태의로드 이벤트를 할 때 그와 같은 SqlCommand를 할 것입니다로드 : 후 그것을 이런 식으로 할 수있는 좋은 방법

IF db_id('testDB') IS NULL 
BEGIN 
    Create Database testDB 
END 

와 테이블입니다 ? 하지만이 조건에 대해 매번 점검을 늦추는 것이 두렵다. 이렇게하는 또 다른 방법 일까? 이 데이터베이스 용도는 로컬입니다 (SqlCompact 또는 Sql Express 2012 LocalDB는 원하지 않습니다). Sql Server Express 2008 r2를 사용하고 싶습니다.

+0

, 당신은 가능성이 알 수 있습니다. – HABO

+0

좋은 점은 어떻게 연결을 알 수 있습니까? 그것은 CustomAction ... 주위에 모든 것을 낳는 것처럼 보입니다. – user3144640

답변

0

설치 프로그램에서 CustomAction을 사용하여 데이터베이스를 한 번만 만들어야합니다. 일단 응용 프로그램을 설치하면 데이터베이스가 있는지 확인할 필요가 없습니다. 당신의 연결 문자열은 데이터베이스를 지정하면이 명령을 실행하기 전에 존재하는 경우

http://msdn.microsoft.com/en-us/library/aa368066(v=vs.85).aspx

+0

흠 좋습니다, 평소와 같이 매우 빠른 답변으로, 귀하의 의견으로는 새로운 데이터베이스를 설치하는 대신 클라이언트의 각 instal에 새로운 SQL Server Express 2008 R2를 설치하는 것이 좋습니다. – user3144640

+0

@ user3144640 : 이는 데이터로 무엇을하고 싶은지에 달려 있습니다. 그러나 각 컴퓨터에 SQL Server를 설치하는 것은 드문 경우입니다. – SLaks

+0

시간 내 주셔서 감사합니다. 귀하가 Microsoft MVP임을 알았습니다. 데이터를 Local에 저장하고 나중에 Scale에 저장하기 만하면됩니다. 데이터로 아무 것도하고 싶지는 않지만 SQL Server Express 2008 R2를 지원하는 많은 운영 체제 용으로 선택했습니다. SQL Compact Edition은 훌륭했지만 Xp를 지원하지 않습니다 ... – user3144640

관련 문제