2017-12-27 21 views
0

안녕하세요 여러분 모두 내가 SQL 데이터베이스 테이블에서 여러 쿼리 결과를 표시하기 위해 노력하고 행복한 휴가,ADO.net 수행 여러 쿼리 (하는 executeQuery 및 ExecuteScalar는) 및 웹 폼 컨트롤에 결과를 표시

를 원하는 격자보기 컨트롤 및 레이블 표보기 결과에 문제가 없지만 ExecuteScalar 명령의 결과가 ID가 "myCount"인 내 lable 컨트롤 안에 표시되지 않습니다. 내 코드에 무엇이 잘못되었는지 알 수 없었다. 도움이 필요해.

protected void Page_Load(object sender, EventArgs e) 

    { 

     SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MBSDB"].ConnectionString); 
     try { 
      conn.Open(); 
      string query="SELECT * FROM tblBook"; 
      using (SqlCommand mycmd = new SqlCommand(query, conn)) { 
       myGrid.DataSource = mycmd.ExecuteReader(); 
       myGrid.DataBind(); 
      } 



      string query2 = "SELECT count(title) FROM tblBook"; 
      using (SqlCommand mycmd2 = new SqlCommand(query2, conn)) { 
       int count = (int)mycmd2.ExecuteScalar(); 
       myCount.Text = count.ToString(); 

      } 


     } 
     catch { 
     Exception(e); 
     } 
     finally { conn.Close(); } 

    } 
+0

예외가 있습니까? 아니면 단순히 값을 표시하지 않습니까? – Nikolaus

+0

예외 표시가 없으며 ExecuteReader 명령의 그리드보기 결과 만 표시되지만 ExecuteScalar 명령은 아무 것도 반환하지 않습니다. –

+0

myCount가 정의/설정되는 위치를 표시 할 수 있습니까? – Nikolaus

답변

0

오류가 없습니까? 제 생각에 오류가 발생하여 catch 블록을 처리하면 인식하지 못합니다.

변경해야합니다.

Convert.ToInt32(mycmd2.ExecuteScalar()); 

당신은이 같은 객체를 개봉기 수 없습니다에

(int)mycmd2.ExecuteScalar(); 

; (int)mycmd2.ExecuteScalar()

+0

당신이 지시 한대로 객체를 구문 분석하려고 시도했지만 여전히 결과를 표시하지 않습니다. 양식 컨트롤 (예 : )이 될 수 있습니다. 다른 폼 컨트롤을 사용해야합니까? 의견 있으십니까? –

+0

디버깅을하셨습니까? 오류가 있습니까? – lucky