프로그래밍 148

ASP.NET Byte[] 형식을 String 으로 변경

mysql 프로시저 수정하면서 기존의 소스가 작동을 안한다. 입력 문자열의 형식이 잘못되었습니다.stb.Append(String.Format("{0:###,###,##0}", int.Parse(ds.Tables[0].Rows[i][j].ToString()))); 기존의 DataSet 을 통해 받아온 필드값이 object 였는데 프로시저를 수정하면서 Byte[] 형식으로 변경됐나보다. byte[] 형식을 string 형식으로 변환하니 정상적으로 출력된다. string value = Encoding.ASCII.GetString((byte[])ds.Tables[0].Rows[i][j]); stb.Append(String.Format("{0:###,###,##0}", int.Parse(value)));

MySQL 프로시저 작성시 유의점

모든 DECLARE 를 무조건 위에 선언하고 모든 SET 을 아래에 선언한다. DECLARESETDECLARE (X)SET 이런식으로 중첩되면 오류가 난다. DECLAREDECLARE (O)SETSET 이렇게 하는 것이 정상이다. 별 것 아닌 것 처럼 보여도 이러한 기본적인 실수 때문에 많은 시간을 허비하여 야근모드에 돌입할 수도 있다. DELIMITER $$ USE `DB명`$$ DROP PROCEDURE IF EXISTS `프로시저명`$$ CREATE DEFINER=`DB명`@`%` PROCEDURE `프로시저명`(파라미터 변수들... , OUT 변수2 INT )BEGINDECLARE 변수 INT; (O) SET 변수2 = -1; DECLARE 변수 INT; (