database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1973 게시물 읽기
No. 1973
저장된 데이터를 변경....
작성자
mook
작성일
2005-05-23 15:36
조회수
2,951

현재 칼럼에 저장된 데이터를 변경하려고 하는데

sql문을 어떻게주어야 할지요....

현재 저장된데이터는 체크박스의 값들이 들어온건데요..

예를들어

A2 칼럼에 값이 3,4,6,8,10...이렇게 들어와 있습니다.

원래는 전체 들어올체크값 자리를 표시하면서 들어와야 하거든요...

즉 , 원래 자리값이 1,2,3,4,5,6,7,8,9,10 이라면

위 데이터가 @,@,3,4,@,6,@,8,@,10 ....이렇게 들어오도록 할려면 어떻게

sql를 주면 될까요...(매우 급합니다)

이 글에 대한 댓글이 총 3건 있습니다.

흠.. bit라는 변수를 사용하세요.

bit는 0, 1로 반환되는 dataType인데요,

들어오는 데이터에 따라 update sql문을 생성해주면 될듯한데요

 

여리님이 2005-05-23 18:48에 작성한 댓글입니다. Edit

아래 질문했던 저장된 디비를 수정하는것인데요..
나름대로 이리저리 해보기는 했는데, 첫번째 값만되고 ..이후로는 잘 않되는데 수정좀 도와주시겠습니까?

현재 테이블의 QA5칼럼에 체크박스로 선택한 값만 들어와 있습니다.
이값을 총갯수의 자릿수를 맞춰주면서 다시 배열해주려 하는것입니다.
즉, 체크박스를 다선택했다면 1,2,3,4,5,6,7,8,9,10,11,12,13,14 의 14개의 값이 당연히 찍히겠지만,선택한값만 받아와서 예를들어 2,3,7,10 이렇게 저장되어 있는것을.
이것을 자릿수를 @로 채우면서 @,2,3,@,@,@,7,@,@,10,@,@,@,@   이렇게 14개를 표시하도록바꾸는...건데요..

제 생각으론 그럴려면
우선 디비의 값을 받아와서 스플릿한후 비교해서 다시 업데이트 해준다는 생각입니다그래서 아래와 같이 코딩해 보았는데.. 첫번째만 되고 이후는 모두 @만 찍히네요...

어떻게 바꾸면 될지요...좀 도와주세요~

<!-- #include virtual="/Pub/include/ResearchDB1.Inc" -->
<% 
Dim SEQ, QA5
 Dim Conn, Rs, Query
 Dim aData
    Set RS = Server.CreateObject("ADODB.RecordSet")    
Query="SELECT SEQ, isnull(QA5,'') FROM  TBSMRRESEARCH"
 Set RS = Conn.Execute(Query)

 Dim insData
  reDim tempData(14)
  insData = ""
  SEQ = cstr(Rs(0)) ' SEQ 키값
  QA5 = Trim(Rs(1)) ' QA5 해당칼럼
  Rs.MoveNext
  if  QA5 = "" then
   insData = "@,@,@,@,@,@,@,@,@,@,@,@,@,@"
  else
   aData = split(QA5,",")
   for i = 0 to ubound(aData)
    for j = 1 to 14
     if cstr(j) = aData(i) then
      tempData(j) = aData(i)
     else
      if cstr(tempData(j)) = "" then
       tempData(j) = "@"
      end if
     end if 
    next    
   next
   for i = 1 to 14
    insData = insData + cstr(tempData(i)) + "," 
   next
   insData = mid(insdata, 1, 28)
  end if 
  Query="UPDATE  TBSMRRESEARCH SET QA5='"  + insData + "' WHERE SEQ=" + SEQ
  Set RS = Conn.Execute(Query)
 Rs.close
 Conn.close
%>

mook님이 2005-05-24 11:50에 작성한 댓글입니다. Edit

전 이렇게 했었습니다.

uncheck 된 값과

check 된 값을 다 가지고 와서

만들었습니다.

그럼 간단하게 돌아가겠죠?

 

어떻게 uncheck 값을 아냐구요?

그냥 가짜로 히든 폼으로 체크박스 빈걸 다 보내는 거에요 올 체크로

짝퉁 이었습니다. ^^

 

 

석이님이 2005-05-25 21:33에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1976인덱스는 주기적으로 업데이트 해줘야 하나요? [3]
호야
2005-05-23
4069
1975동적으로 인덱스를 걸수 있을까요? [2]
^^
2005-05-23
1676
1974힌트에 대하여 설명되어 있는 문서좀 있나요? [1]
나그네
2005-05-23
2115
1973저장된 데이터를 변경.... [3]
mook
2005-05-23
2951
1972두개 필드를 하나의 필드로 나오게 하려면 어떻게 해요? [1]
이인수
2005-05-22
1735
1971루프를 돌릴때 스토어 프로시저 사용 문제 [1]
제록
2005-05-21
2179
1970Bcp Error
kids
2005-05-21
2400
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다