간만에 MSSQL의 포트를 바꿨는데.....맨날 기본포트쓰다가 커스텀 포트를 쓰니 연결문자열에 포트를 못넣어서 삽질을 ㅡ,.ㅡ; 어찌됬건 MSSQL의 연결문자열에서 포트(Port)는 콤마 입니다. 주소다음에 콤마를 넣어야 하죠. //커낵션 생성 msConn = new SqlConnection(); msConn.ConnectionString = "Server=주소,포트;DataBase=\"해당DB\";UId=\"로그인ID\";pwd=\"로그인 비밀번호\""; 요렇게 말이죠. MSSQL 연결 문자열 키워드에 대한 자세한 내용은 MSDN에서 확인 할수 있습니다. MSDN - SQL Server Native Client에서 연결 문자열 키워드 사용
현재 페이지에 있는 값을 다른 페이지에 전달하는 방법 중 겟(get}방식 다음으로 간편한 방법이 포스트(Post)방식입니다. 폼에 값을 실어 보낸다고 생각하시면 됩니다. 1 데이터 보내는 페이지 작성 샘플페이지를 2개 만듭니다. test.aspx post.aspx 시작 페이지에는 다음과 같이 작성합니다. 여기서 주의해야 하는 것이 포스트 방식으로 데이터를 넘길 때는 'name'로만 접근할 수 있습니다. 요즘 웹 표준에서 'name'대신 'id'를 사용할 것을 권장하고 있는 걸 생각하면......좀 그르치요? 'post.aspx'가 목표 페이지입니다. 2 ASP.NET 에서 데이터 받기 'post.aspx'에 레이블을 추가하고 아래와 같이 비하인드 코드를 작성합니다. protected void Page_L..
웹페이지는 기본적으로 단일 패이지기 때문에 다른 페이지와 값을 공유할수 없습니다. 원론적으로 그렇다는 것이고 이것저것 많은 기술들덕분에 그런건 문제가 되지 않지만 말이죠 ㅡ.-;; 페이지간에 데이터를 공유하기위해 사용하는 방법중 가장 간단한것을 꼽자면 Get방식(이하 겟방식)입니다. 그냥 주소에 물음표(?)를 넣고 데이터를 날리면 되죠. http://주소?[값1 ID]=[값1]&[값2 ID]=[값2] 이렇게 간단하게 주소를 이용하여 데이터를 전달할수 있습니다. 값을 받을때는 'Request.QueryString'을 이용하여 받습니다. //Request.QueryString["값1 ID"] int m_nIndex = Convert.ToInt32(Request.QueryString["nIndex"]); 장점..
제가 예전부터 구성하고 싶었던 방식중에 Step1. 웹에서 업데이터 설치 Step2. 데스크탑에서 업데이터 실행 Step3. 업데이터에서 파일을 업데이트 한후 메인프로그램 실행 이런 구성 방식이 있습니다, 이왕이면 첫설치후 Step1의 경로로 접근하면 바로 설치된 파일이 실행되는게 제일 좋고 차선책으로 설치된 파일을 실행하라는 안내문을 내도 괜찬습니다, 최악의 경우 다운로드만 해야 하죠.(이경우 구지 이방식을 쓰나 안쓰나 차이가 없습니다-_-;) 보통 이런한 구성은 엑티브X(ActiveX)로만 가능하다는 문제가 있죠-_-; 하지만 엑티브X는 이미 버려진 자식이라는거 ㅎㅎㅎ 이렇게 구성을 하게 되면 좋은 점이 1. 사용자는 첫 접근을 웹으로 할 확률이 크기때문에 접근성이 좋다. 2. 첫설치이후에는 실행 스..
저장 프로시저를 호출했는데 결과가 여러 개 나온다는 것은 'Select'문이 여러 번 동작하거나 'return'값도 온다는 의미입니다. 1. 'select'와 'return' 구분하기 필요에 따라 'Select'로 리턴하는 값을 'Return'으로 바꾸면 됩니다. 셀랙트(Select)는 리턴(Return)과 달라 프로시저가 종료되지 않습니다. 그러니 셀랙트로 값을 리턴하면 셀랙트가 호출된 이후 뒤에 있는 코드들도 그대로 동작합니다. 셀랙트가 여러 개 있다면 결과도 여러 개 나옵니다. 만약 호출한 저장 프로시저의 셀랙트된 내용을 받고 싶지 않다면 방법이 없는 건 아닙니다. 테이블 변수나 임시 테이블을 이용하여 저장 프로시저의 내용을 받으면 셀랙트된 내용이 리턴되지 않습니다. (참고 : [MSSQL] 저장프..
MSSQL에서 날짜+시간을 나타내는 데이터형식은 데이트타임(datetime)과 스몰데이트타임(smalldatetime) 이 두 가지가 있습니다. ( 참고 : MS Learn - 날짜 및 시간(Transact-SQL) ) 날짜, 시간 관련 데이터 형식이라고 구분한다면 날짜만 나타내는 '데이트(date)'타입도 있습니다. 1. 차이 이 두 가지의 큰 차이는 datetime smalldatetime 정확도 1/100초(3.33밀리초) 1분 저장 공간 8 byte 4 byte 범위 1753년 1월 1일부터 9999년 12월 31일까지 1900년 1월 1일부터 2079년 1월 6일까지 2. 사용 시 알고 있어야 할 내용들 스몰데이트타임은 사용할 때 바로 변환이 되지 않는 경우가 꽤 있습니다. 예를 들면 'ToSt..
Visual Studio 2008에 창 도킹 시 에러가 있다는 사실을 얼마 전에 알았습니다. 하긴.. 전 웬만해서 툴에 손대는 걸 싫어하니 당연한 걸지도? ㅎㅎㅎ 1. 오류 재현 툴안에 있는 창을 다른 곳으로 옮긴 후 비주얼 스튜디오를 종료하면 오류를 뱉으며 죽는 현상입니다. 다시 켜보면 수정한 내용이 없는걸 볼 수 있죠. 2. 해결 방법 마이크로소프트 고객센터에서 보면 이 오류에 대한 내용이 있습니다. (참고 : 마이크로 소프트 고객센터 - FIX: 일부 창을 도킹 또는 Visual Studio 2008 서비스 팩 1 IDE 창 레이아웃을 변경할 경우 IDE가 충돌합니다. ) 그리고 해결 방법으로 핫픽스를 설치하라고 되어있죠. (참고 : MSDN아카이브 - KB960075 - VS Dev Environ..
닷넷에서는 몇 가지 형변환 방법이 있는데 그중 괄호로 사용하는 캐스팅 방법은 다른 언어에서도 사용하는 방법이고 이전부터 사용하던 방법입니다. 예> 예> object oTemp = new object(); oTemp = 3.0; dTest = (double)oTemp; 1. 문제의 발견 그런데 형 변환을 하다가 이상한 에러를 발견하였습니다. 'object'형을 'float'로 캐스팅을 하니 에러가 빵~ object oTemp = new object(); oTemp = 3.0; double dTest = 1.0; float fTest = 1.0f; dTest = (double)oTemp; fTest = (float)oTemp; 흠? 오류의 말은 써있는 데로 "형변환이 안 되니 확인해 봐라" 입니다. 원래 '..
저장 프로시저를 이용할 때 리턴되는 값은 크게 리턴(Return)과 셀랙트(Select)로 나눌 수 있습니다. 리턴은 int형만 가능하고 일반적으로 프로시저에 대한 응답(로그인 중이라면 로그인이 안 된 이유 같은 것들)용으로 많이 사용합니다. 셀랙트는 말 그대로 데이터(테이블)를 리턴하는 것이고요. 1. SQL 작성 리턴과 셀랙트를 구분 안 하는 경우도 있습니다만 구분해서 쓰면 처리하기도 편해지고 코드도 일관성 있어저서 좋습니다. --Return과 Select를 구분한 경우 Select 1 Return 2 --결과 --Select : 1 --Return : 2 --Return과 Select를 구분하지 않은 경우 Select 1 Return --결과 --Select : 1 --Return : null 일반..
이전 글에서 테이블 변수에 관해서 이야기했었습니다. 임시 테이블과 테이블 변수는 사용하는 방법 면에서는 별 차이가 없으나 성능상 차이가 있다고 합니다. 테이블 변수가 성능 면에서 더 유리하다고 하는데....직접 비교는 해보지 않아서 잘 모르겠습니다 ㅎㅎㅎ (참고 : [MSSQL] 저장프로시저에서 테이블(Table) 변수 사용하기 ) 1. 선언 선언 임시테이블이므로 크리에이트 테이블(Create Table)로 생성하면 됩니다. --리턴값을 받기위한 임시 테이블 --Create Table [생성할 테이블 이름] ( [컬럼명] [데이터형], ... , [컬럼명] [데이터형] ) Create Table #Result ( nIndex int , sName varchar(16) , sID varchar(16)) 2..