SQL 쿼리에서 값을 가져 와서이 값을 텍스트 상자에 배치하는 코드가 있습니다. 나는 그것을 다른 클래스에 넣고, 메인 클래스에서 접근하려고합니다. 하지만 내 문제는 클래스가 기본 클래스에서와 같이 버튼 (txtbox_ticketnum)을 인식하지 못한다는 것입니다. 도움!다른 클래스에서 단추 컨트롤을 볼 수 없습니다.
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
using (SqlCommand com_retrieve = new SqlCommand("usp_SelectTop1Ticket", con))
{
com_retrieve.CommandType = CommandType.StoredProcedure;
con.Open();
try
{
txtbox_ticketnum.Text = com_retrieve.ExecuteScalar().ToString();
MessageBox.Show("Ticket Has been saved. Your Ticket Number: " + com_retrieve.ExecuteScalar().ToString(), "Ticket Filed");
}
catch (SqlException)
{
MessageBox.Show("The database has encountered an error");
}
catch (Exception)
{
MessageBox.Show("The server has encountered an error");
}
}
}
그럼 더 자신의 재산 (더 나은 솔루션)을 추가하지 - 클래스의 어떤 인스턴스를 당신이 그것을 기대 한 가지는? 나는 당신이 잠시 동안 SQL과 GUI를 둘 것을 제안하고, C#의 핵심을 배울 것을 제안한다. - 다른 객체 등을 어떻게 참조 할 것인가? 이것은 콘솔 응용 프로그램 인 IMO를 통해 가장 잘 볼 수있다. 일단 C#의 기본 사항에 확신이 있다면 더 복잡한 시나리오에 적용하는 것이 더 쉽습니다. (UI 쓰레드에서 SQL 질의를 수행해서는 안되기 때문에 스레딩이나 비동기에 대해 배워야합니다.) –
Visual Studio 솔루션 탐색기에서 별도의 레이어 (프로젝트)를 사용하도록 제안합니다. SQL 쿼리를 별도의 클래스로 유지할 수 있습니다. 처음부터 @ JonSkeet의 조언에 따라 공개 액세스 권한을 부여 할 수 있으며 어떤 종류의 액세스가 제공 될지 결정할 수 있습니다. SQL을위한 별도의 공용 레이어를 가짐으로써 GUI 레이어 (WindowForms가있는 프로젝트)로 참조하고 사용하게됩니다. 더 많은 정보를 원하시면, 글을 참고하겠습니다. – meorfi
정확한 [다른 클래스의 액세스 양식 구성 요소] (http://stackoverflow.com/questions/6803970/) 또는 [다른 형식의 액세스 클래스]의 중간 덤프 (http://stackoverflow.com/questions/15696066)/다른 클래스의 액세스 클래스) 또는 [다른 클래스의 변수 액세스] (http://stackoverflow.com/questions/4090773/)를 참조하십시오. 질문/4057843 /) 또는 [다른 클래스 메서드에 액세스] (http://stackoverflow.com/questions/16694449/) 또는 ... – quetzalcoatl