제목에서 알 수 있듯이 데이터베이스에서 콤보 상자를 채우고 콤보 상자의 변경 내용을 기반으로 checkedlistbox의 내용을 변경하려고합니다. 여기서 문제는 내가 할 수있는만큼 잃어버린 것입니다. 나는 EXE와 같은 dir에서 db1.mdb라는 액세스 데이터베이스를 사용하기로 결정했습니다. 기본 데이터 테이블 Table1에는 콤보 상자 (item1, item2, item3)에 있어야하는 항목의 이름이 있습니다. 그런 다음 각 값 (tableitem1, tableitem2, tableitem3)에 대해 별도의 테이블을 가지고 있으며 목록 상자는 각 테이블에 다양한 금액이있는 "항목 이름"필드를 나열하여 한 번에 하나씩 사용합니다. checkedlistbox의 옵션을 확인한 후, 체크리스트 상자와 관련된 데이터베이스 테이블의 해당 테이블 "value1 and value2"의 다른 열에서 값을 가져와야합니다. 나는 약 5 년 동안 프로그래밍을 해왔지만, 전에는 데이터베이스를 조작 할 필요가 없었기 때문에 완전히 잃어 버렸습니다.데이터베이스에서 ComboBox 및 CheckedListBox 채우기 C#
0
A
답변
0
여기에 더 많은 스레드와 관련된 유용한 코드와 조언이 있습니다. 외관상으로는 나의 주요한 문제는 테이블 이름에있는 간격으로이었다, 그래서 나는 테이블 및 부호에있는 공간을 제거했다. 이 코드는 combobox와 checkedlistbox 모두에 적절한 값을로드합니다. 이제 체크 된 목록에 해당하는 행의 값을로드하고 2 개의 다른 열에서 2 개의 다른 문자열 배열로 값을로드해야합니다. 이것은 처음으로 데이터베이스 작업을하는 순간이므로, 필자는 시스템이 내가 작성한 것을 어떻게 해석하고 있는지를 놓치고있었습니다.
private OleDbConnection myConn;
private OleDbDataAdapter dAdapter;
private DataViewManager dviewmanager;
private DataSet dset;
private OleDbConnection myConn2;
private OleDbDataAdapter dAdapter2;
private DataViewManager dviewmanager2;
private DataSet dset2;
private void cmbDatabaseFill()
{
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=DB1.mdb";
try
{
myConn = new OleDbConnection(conStr);
myConn.Open();
}
catch (OleDbException ex)
{
MessageBox.Show("Error in connection ..." + ex.Message);
}
string sqlStr = "SELECT * FROM Index;";
dAdapter = new OleDbDataAdapter(sqlStr, myConn);
dset = new DataSet();
dAdapter.TableMappings.Add("Table", "Index");
dAdapter.Fill(dset);
this.dviewmanager = dset.DefaultViewManager;
this.cmbMain.DataSource = this.dviewmanager;
this.cmbMain.DisplayMember = "Index.List";
this.myConn.Close();
}
private void cmbMain_SelectedIndexChanged(object sender, EventArgs e)
{
clbDatabaseFill();
}
private void clbDatabaseFill()
{
string newTableName = cmbMain.Text.Replace(" ", "");
string conStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=DB1.mdb";
try
{
myConn2 = new OleDbConnection(conStr);
myConn2.Open();
}
catch (OleDbException ex)
{
MessageBox.Show("Error in connection ..." + ex.Message);
}
string sqlStr = "SELECT * FROM " + newTableName + ";";
dAdapter2 = new OleDbDataAdapter(sqlStr, myConn2);
dset2 = new DataSet();
dAdapter2.TableMappings.Add("Table", newTableName);
try
{
dAdapter2.Fill(dset2);
}
catch (System.Exception)
{
return;
}
this.dviewmanager2 = dset2.DefaultViewManager;
this.clbOpt.DataSource = this.dviewmanager2;
this.clbOpt.DisplayMember = newTableName + ".ValName";
this.myConn2.Close();
}
관련 문제
- 1. richfaces 채우기 ComboBox
- 2. 데이터베이스에서 문자열 및 ListView 채우기
- 3. MVP를 사용하는 Combobox 및 DataGridView 채우기
- 4. C# CheckedListBox 재정의
- 5. 데이터베이스에서 DropDownList 채우기
- 6. checkedListBox 및 SQL 쿼리
- 7. 선 스타일로 ComboBox 채우기 .NET
- 8. 데이터베이스에서 드롭 다운 채우기
- 9. 데이터베이스에서 achartengine 그래프 채우기
- 10. 데이터베이스에서 ChoiceField 채우기
- 11. 데이터베이스에서 html 테이블 채우기
- 12. 데이터베이스에서 큰 데이터 채우기
- 13. 데이터베이스에서 스피너 채우기
- 14. C# Combobox 및 TabControl 비애
- 15. ComboBox LINQ C#
- 16. Combobox C#
- 17. SQL 데이터베이스에서 텍스트 상자 채우기
- 18. SQLite 데이터베이스에서 iphone tableview 채우기
- 19. 여러 데이터베이스에서 NHibernate로 개체 채우기
- 20. 안드로이드에서 SQLite 데이터베이스에서 ListView 채우기
- 21. iOS : SQLite 데이터베이스에서 tableView 채우기
- 22. CheckedListBox SetItemCheckState
- 23. 네이티브 CheckedListBox?
- 24. CheckedListBox 항목
- 25. Text 속성으로 데이터베이스에서 ItemsSource를 업데이트하는 WPF ComboBox
- 26. CheckedListBox C# .NET에서 문제가 다시 발생했습니다.
- 27. CheckedListBox 및 항목에 바인딩 개체 속성
- 28. ASP.NET 및 C# 데이터베이스에서 스트리밍
- 29. C# -comboBox Selected IndexChange
- 30. 포스트 그레스 데이터베이스에서 vb.net에서 트리보기를 채우기
좀 더 명확 할 수 있습니까? 지금까지 내 이해에 따라 Combobox에서 데이터를 가져오고 싶습니다. 누군가가 뭔가를 선택하면 다른 값을 가져 와서 checkboxlist로 표시하려고합니다. DataSet을 만들고 컨트롤에 바인딩하는 방법을 알고 있습니까? 아니요 - 기본으로 시작하는 것이 좋습니다 ... 간단한 것을 한 다음 직접 시도해보십시오. – sajoshi
5 년간 프로그래밍을 해왔다면 콤보 박스를 채우는 방법 등을 알고 있어야합니다. 데이터 액세스 부분 만 다루는 질문을 올리십시오. 이 질문은 너무 광범위하기 때문에 좋은 답변을 얻지 못할 것입니다. –
분명히하겠습니다 ... 모든 데이터베이스 값은 텍스트 값입니다. 데이터 세트는 내가 혼란스러워하는 곳이며, 이전에 얻은 정보를 사용하여 충분히 쉽게 콤보 박스를로드 할 수 있지만 콤보 상자의 이름에서 새 데이터 테이블을 가져 오는 것이 편두통을주고 있습니다. 저는 5 년 이상 기본 형태로 프로그래밍 했었습니다. 저는 C#에 익숙하지 않았습니다. 과거에는 레크리에이션 프로그래밍 만 했으므로 데이터베이스를 만들고로드 할 필요가 없었습니다. 나는 가치있는 이름과 모든 것을 할 수있는만큼 OP를 유익한 것으로 만들려고 노력했다. 분명히 명확성을 잃어 버렸다. 사조시는 나의 일반적인 의도를 가지고있는 것 같다. – James