저는 작은 VB.net 응용 프로그램을 만들고 있습니다. 작은 데이터베이스 (약 5 열, 20 레코드)를 추가하고 싶습니다. 모든 것을 하나의 exe로 유지하고 싶습니다. '전체'데이터베이스를 추가하는 것은 다소 과잉이라고 생각하므로 대안을 찾고 있습니다. CSV 파일을 만들어서 리소스로 추가 할 수 있습니다. 이것은 좋은 생각입니까 아니면 다른 좋은 대안이 있습니까?vb.net 응용 프로그램에 데이터베이스 포함
답변
나는 작은 데이터베이스로 XML 파일을 사용하므로 linq (Language-Integrated Query)로 쉽게 쿼리 할 수 있습니다. 또한 레코드 및 쿼리를 처리하는 데 도움이되는 라이브러리가 내장되어 있습니다. 물론 당신은 액세스를 사용할 수 있습니다, 엑셀 (당신은 SQL로 쿼리 할 수있는 엑셀) CSV 또는 TXT 파일. 또한 만들 수 있습니다 local data base file in visual studio
또는'sql ce' 데이터베이스 –
... 또는 이진 직렬화 된 파일. –
그런 작은 양의 데이터에 대한 또 다른 옵션은 ApplicationSettings에 저장하는 것입니다. 귀하의 질문은 당신이 WinForms를 사용하고 있음을 의미하므로, 자신 만의 맞춤 클래스를 저장하기 위해 적은 양의 작업으로 내장 기능을 사용할 수 있습니다.
- 데이터를 나타내는 클래스를 만듭니다.
- 는
- 필요에 따라이 사용자 지정 설정을 조작하고 필요에 따라
Save()
전화 (의) 목록으로ApplicationSettingsBase
에서 상속 다른 클래스의 속성에 해당 클래스를 랩. 데이터를 나타냅니다클래스 :
Public Class Fruit Public Property FruitName As String Public Property FruitColor As String Public Property FruitGrowsOn As String End Class
응용 프로그램 설정에 저장된 모음으로
Fruit
변 클래스 다음
는 데이터 그리드에 결합하는 예이다. 그것은 ApplicationSettingsBase
을 상속받습니다. 또한 속성의 속성을 응용 프로그램 설정 (사용자가 수정할 수 없음)과 반대되는 사용자 설정으로 식별합니다.
Imports System.Configuration
Public NotInheritable Class FruitCollection
Inherits ApplicationSettingsBase
<UserScopedSettingAttribute()>
<DefaultSettingValue("")>
Public Property Fruits() As List(Of Fruit)
Get
Fruits = Me("Fruits")
End Get
Set(ByVal value As List(Of Fruit))
Me("Fruits") = value
End Set
End Property
End Class
폼 정의 : DefaultSettingAttribute
는 항목을 추가 처음이 끝날 때까지 null 참조 예외를하지 않도록 컬렉션이 인스턴스화 확인합니다. 사용자 지정 설정의 인스턴스 (FruitUserSettings
)를 검색하고, DataGridView에 대한 바인딩 소스를 만들고, 저장 단추를 제공하여 눈금의 변경 내용을 설정에 유지합니다.
Public Class Form1
Dim FruitUserSettings As FruitCollection
Dim GridBindingSrc As BindingSource
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FruitUserSettings = New FruitCollection()
GridBindingSrc = New BindingSource(FruitUserSettings, "Fruits")
DataGridView1.AutoGenerateColumns = True
DataGridView1.DataSource = GridBindingSrc
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FruitUserSettings.Save()
End Sub
Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
GridBindingSrc.Dispose()
End Sub
End Class
주, 당신이 단지 시연했다, 바인딩 소스 또는 그리드를 필요가 없습니다 : 다음 번에 사용자가 변경 사항이 여전히있을 것 형태들이 저장 버튼을 클릭 제공 열립니다. 원하는 방식으로 다른 목록처럼 FruitUserSettings.Fruits
을 조작 할 수 있습니다. 설정에서 Save()
이 호출되는 한 데이터가 유지됩니다.
는 현재 작업 샘플을 다운로드/복제 할 수 있습니다 : https://github.com/crowcoder/CustomSetting
- 1. 응용 프로그램에 데이터베이스 포함
- 2. VB.NET 응용 프로그램에 사전 포함
- 3. 응용 프로그램에 SQL Server 데이터베이스 포함
- 4. C#/VB.net의 응용 프로그램에 데이터베이스 포함
- 5. 개발중인 응용 프로그램에 포함 된 데이터베이스
- 6. vb.net 응용 프로그램에 jpeg 추가
- 7. Gecko 또는 FireFox 브라우저를 VB.NET 응용 프로그램에 포함 시키려면 어떻게해야합니까?
- 8. 응용 프로그램에 HTML을 포함
- 9. SQLite를 VB.Net 응용 프로그램에 정적으로 컴파일 하시겠습니까?
- 10. 파이썬 응용 프로그램에 FCKeditor 포함
- 11. Silverlight 응용 프로그램에 iframe 포함
- 12. C++ 응용 프로그램에 데이터 포함
- 13. 템플릿을 gwt 응용 프로그램에 포함
- 14. grails 응용 프로그램에 tomcat 포함
- 15. 응용 프로그램에 SSL 키 포함
- 16. 모질라를 복잡한 응용 프로그램에 포함
- 17. Windows 응용 프로그램에 광고 포함
- 18. C 응용 프로그램에 JavascriptCore 포함
- 19. Winforms 응용 프로그램에 어셈블리 포함
- 20. IOS 응용 프로그램에 오프라인지도 포함
- 21. 데이터베이스 응용 프로그램에 적합한 디자인
- 22. 응용 프로그램에 Sqlite 데이터베이스 굽기
- 23. 웹 응용 프로그램에 데이터베이스 액세스
- 24. vb.net 데스크톱 응용 프로그램에 대한 온라인 보고서
- 25. vb.net 특정 활성 응용 프로그램에 sendkeys
- 26. 내 Vb.net 응용 프로그램에 인도 루피를 표시합니다.
- 27. PHP와 VB.net - 동일한 데이터베이스
- 28. VB6 응용 프로그램에 SQL 스크립트 포함
- 29. 파이 응용 프로그램에 파이썬 응용 프로그램을 포함
- 30. C#에서 응용 프로그램에 MySQL 데이터베이스 임베드
데이터가 데이터입니다. 그것의 특성상 그것은 바뀔 수 있습니다. Embedding을한다는 것은 변경된 경우 앱을 다시 컴파일하고 재배포해야한다는 것을 의미합니다. 데이터가 XML에 있으면 데이터 테이블에 데이터를로드하고 필요할 경우 대체 데이터를 보낼 수 있습니다. – Plutonix