public class InnovationSubmission
{
public OleDbConnection connectr = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=DatabaseTEST.accdr;Jet OLEDB:Database Password=DWPOIT");
public OleDbDataAdapter Adaptor = new OleDbDataAdapter();
private List<SelectListItem> _Area = new List<SelectListItem>();
private List<SelectListItem> _Team = new List<SelectListItem>();
public int ID { get; set; }
[Required(ErrorMessage="Please enter a short description")]
public string ShortDescription { get; set; }
[Required(ErrorMessage = "Please enter a detailed description")]
public string DetailedDescription { get; set; }
public string Status { get; set; }
[Required(ErrorMessage = "Please enter your name")]
public string Originator { get; set; }
[Required(ErrorMessage = "Please enter your email address")]
[RegularExpression(".+\\@.+\\..+",
ErrorMessage = "Please enter a valid email address")]
public string OriginatorEmail { get; set; }
[Required]
public string SelectedArea { get; set; }
[Required]
public string SelectedTeam { get; set; }
public List<SelectListItem> Area
{
get { return _Area; }
}
public List<SelectListItem> Teams
{
get
{
string SQLSelect = ("SELECT * FROM Teams");
OleDbCommand sCommand = new OleDbCommand(SQLSelect, connectr);
Adaptor.SelectCommand = sCommand;
connectr.Open();
Adaptor.Fill(areaTable);
connectr.Dispose();
foreach (DataRow row in areaTable.Rows)
{
_Team.Add(new SelectListItem() { Text = row[1].ToString(), Value = row[1].ToString() });
}
return _Team;
}
}
public DataTable areaTable = new DataTable();
}
}
1
A
답변
1
나에게 커넥터 개체에 문제가있는 것 같습니다. 아마 다른 곳에서 사용되었으므로 예외가 발생합니다. 새 연결을 열고 쿼리를 수행 한 다음 닫습니다. 사용 블록 내에서 쿼리를 수행하려면 using
을 사용해보십시오.
또한 주석에서 이미 언급했듯이 속성 가져 오기 도구에서 db 쿼리를 수행하는 것은 좋지 않습니다. 이상하고 해킹 된 것처럼 보입니다.
+0
감사합니다. 다음에 시도해 보겠습니다. – Derek
-1
이렇게 사용하면 괜찮습니다!
public List<SelectListItem> Teams
{
get
{
string SQLSelect = ("SELECT * FROM Teams");
OleDbCommand sCommand = new OleDbCommand(SQLSelect, connector);
Adaptor.SelectCommand = sCommand;
connector.Open();
Adaptor.Fill(areaTable);
connector.Dispose();
foreach (DataRow row in areaTable.Rows)
{
_Team.Add(new SelectListItem() { Text = row[1].ToString(), Value = row[1].ToString() });
}
return _Team;
}
}
+0
응답하지 않고 더 많은 정보를 제공하려면 질문을 업데이트해야합니다. 문제가 커넥터 내에 있는지 또는 커넥터를 선언했는지 확인하십시오. 질문에서 해당 부분을 이동하고 커넥터를 추가하면 원하는 답변을 얻을 수 있습니까? – phadaphunk
관련 문제
- 1. ASP.NET DataTable 출력 문제
- 2. YUI - DataTable - RadioCellEditor 문제
- 3. openfaces datatable 문제
- 4. DataTable 목록/배열 문제
- 5. DataTable 업데이트 문제
- 6. JSF : h : datatable 문제
- 7. h : dataTable 구현의 문제
- 8. jQuery DataTable 페이지 매김 문제
- 9. C# datatable 기본 키 문제
- 10. datagridview에 바인딩 된 datatable 문제
- 11. JSF Rich scrollerable Datatable 문제
- 12. jQuery Datatable 크기 조정 문제
- 13. jQuery datatable + Twitter bootstrap CSS 문제
- 14. PrimeFaces DataTable - 필터링 (예제 실행 문제)
- 15. IE9에서 Jquery Datatable 페이지 매김 문제
- 16. 2in3을 사용하여 YUI2 DataTable 이벤트를 구독하는 문제
- 17. DataTable 만들기 및 기존 DataTable 스키마 복사?
- 18. datatable scroll
- 19. Datasetxsd에 Datatable?
- 20. 필터 DataTable
- 21. DataTable Validator
- 22. DataTable 업데이트?
- 23. TextFile의 DataTable?
- 24. DataTable 복제본
- 25. DataTable Copy
- 26. 안드로이드 Datatable
- 27. DataTable 쿼리
- 28. Silverlight - DataTable
- 29. DataTable 시작
- 30. Vb.net DataTable
'커넥터'란 무엇입니까? (속성 액세스에 대한 데이터베이스 가져 오기 작업을 수행하는 것은 꽤 냄새가 난다는 점에 유의하십시오. 또한 'using'문과 매번 새로운 연결을 사용해야합니다.) –
OledBconnection 객체인데, 나는 다른 2 개의 Datatable을 활용하고 싶습니다. 클래스의 새 인스턴스를 만들 때이 특정 클래스의 일부. – Derek
물론 연결이 다른 곳에서 열리지 않았습니까? – BugFinder