2014-05-12 2 views
0

나는 아래와 같은 프로 시저를 실행 중이다. 프로 시저 이름입니다 - STMTmysql 프로 시저 출력 열 수를 카운트

call stmt; 
execute stmt; 

가 어떻게이 절차의 출력 열 수를 셀 수 있습니까? 출력의 열을 계산하는 함수가 있습니까?

+0

이 목적을 위해 OUT 매개 변수를 사용할 수 있습니다. – user3470953

+0

OUT 매개 변수를 사용하는 방법은 무엇입니까? – vim

+0

@vim : 아니요.이 작업은 프로 시저를 호출하고 결과 집합을 읽는 스크립팅 언어를 사용해야 만 수행 할 수 있습니다. 'PHP'에는 [*'mysqli_field_count' *] (http://www.php.net/manual/en/mysqli.field-count.php)가 있습니다. JAVA에서는 [*'ResultSetMetadata.getColumnCount()'*] (http://docs.oracle.com/javase/7/docs/api/java/sql/ResultSetMetaData.html#getColumnCount())가 있습니다. –

답변

0

다음과 같이 결과 집합을 계산하는 데 사용되는 스크립트 언어 C#을 사용하면 문제가 없습니다.

string query1 = "call sgwebdb.stmt;execute stmt"; 

int count1 = DataManager.DatabaseManager 
      .GetOrCreateConnection(DataManager.DatabaseManager 
            .ConnectionType.MySQL) 
      .GetData(query1).Tables[0].Columns.Count;