스카리아풀빌라

xml 주고, 받기

IT

XML받기

Set Xmldoc = CreateObject("Msxml2.DOMDocument")          

Xmldoc.async = False

Xmldoc.load("XmlDataService.aspx?ACTFLG=INI")   'Xml을 던저주는 웹서비스이다.

'XML STREAM LOAD시점에 에러 VALIDATION LOGIC

if NOT (Xmldoc.readyState = 4 and not (Xmldoc.parseError)) then

    MSGBOX "ERROR OCCURED WHEN ACCESSING DATASERVICE ASPX WEB COMPONENT"

end if

Set ElemList = Xmldoc.getElementsByTagName("ResultSet")

For i=0 To (ElemList.length -1)

    Set Element = ElemList.item(i)

    For j = 0 to Element.childNodes.length -1

            'Add Entry Function Here

    Next

Next

 

넘겨주기

strTemp ="<?xml version='1.0' encoding='euc-kr'?>"
strTemp = strTemp & "<POSTROOT>"
   '여기다가 XML을 만들어주고...
strTemp = strTemp & "</POSTROOT>"


Set xmlhttp = createobject("Microsoft.XMLHTTP")
xmlhttp.Open "POST", "XmlDataService.aspx?ACTFLG=SAV", false '<--이넘은 XML받는넘..
xmlhttp.Send strTemp

'HTTP POST에 대한 ERROR VARIDATION LOGIC 전개
if xmlhttp.status = 500 then
    'Internal Server Error 발생시 즉 POST된 XML데이터가 잘못되었을경우 발생한다.

    msgbox xmlhttp.statusText

end if


넘어온XML서버에서 받기(.cs)

DataSet ds = new DataSet();

ds.ReadXml(Request.InputStream,XmlReadMode.Auto);

*****************************************************************************

검색을 해서 찾았는데, 어디서 가지고 온지 모르겠다.
출처를 알게되면, 출처를 남기겠습니다.

DOM 스크립트

IT
요새 표준이라는 말이 많이 나와서, 이래저래 많은책(?)을 구매하고 있지만, 실상은 볼 시간이 별로 없네요.

이번에 자주가는 channy님의 블로그에서 본 DOM 스크립트라는 책에 대해서 이벤트를 하고 있어서

한번 글 몇글자 끄적여 봅니다. ㅎㅎ

계속해서 자바스크립트를 쓰고 있지만 거의 다른곳의 소스를 보고 쓰고, 그랬던 기억이 있네요.

이런책을 보면서 하나정도를 사서 공부하는것도 좋을꺼라 생각이 듭니다.



쌍따옴표 처리하기

IT

<input type="text" name="subject" value="<%=subject%>">


위에 처럼 쓰면 쌍따옴표가 들어간 데이터가 있으면 공백으로 나온다


이럴때

입력하는 부분의 소스에는

replace(CheckValue, chr(34), "&quot;")


보여주는 부분의 소스에는

replace(CheckValue, """", chr(34))

또는

replace(CheckValue, "&quot;", chr(34))


이렇게 하면 게시판 등의 수정 페이지에서 쌍따옴표가 있어도 처리가 가능하다

출처 블로그 : http://blog.naver.com/whitesgh

mdf , backup , MDF파일만 가지고 DB복원시키기

IT

MDF파일만 가지고 DB복원시키기 | sql쿼리들 2005/08/16 11:06 
 
 
http://blog.naver.com/1mg/60016203621
 
 
1. 우선 복원하고자 하는 데이타 베이스를 만듭니다. 여기서는 'A'라 하죠.(중요한 것은 mdf파일의 경로가 가지고 있던 mdf의 경로와 같아야 한다는 사실입니다.
=>이렇게 작업을 해 주는 이유는 master..sysdatabases에 test라는 db이름과 이것의 primary mdf 파일에 대한 항목을 넣어주기 위함입니다.)

2. sql server를 stop시키고 가지고 있는 mdf파일을 만들어지 데이타 베이스의 mdf에 덮어 씌운 후, sql server restart 합니다.

3. 이렇게 하면 master..sysdatabases에 등록은 성공했지만, 아직까지 접근은 불가하게 되는데요, A db를 emergency mode로 바꾸어 주시면 저근이 가능하게 됩니다.

4. 마지막으로 dbcc rebuild_log를 해 주고, dbcc checkdb로 consistency를 맞춰주면 사용이 가능하게 됩니다.

이 방법의 최대 단점은 DBO만 사용이 가능하다는 점이군요.

처음처럼 복원하시려면, BCP나 DTS등을 이용하시면 될 거 같습니다.

PS. emergency mode 방법입니다.

    use master
    go

    sp_configure 'allow', 1
    go

    reconfigure with override
    go

    update sysdatabases set status = 32768 where name = 'A'
    go

    shutdown 

IE7.0 분할 인쇄시

IT
페이지 분할 인쇄시.. (IE7.0)

<p style='page-break-before:always'> <!-- [IE 6] -->
<!--[if IE 7]><br style="height:0; line-height:0"><![endif]-->
</p>

cjmall 배너광고소스 (XML연동)

IT

// Action script...

// [Action in Frame 1]
function bannerMotion(Rnum)
{
   clearInterval(timerID);
   var i = 0;
   if (Rnum == 2)
   {
       Rnum = 0;
   }
   else
   {
       Rnum++;
   } // end if
   var _l2 = 0;
   while (_l2 < 3)
   {
       _root["info" + _l2].format.bold = false;
       _root["info" + _l2].format.color = 3355443;
       _root["info" + _l2].info.setTextFormat(_root["info" + _l2].format);
       _l2++;
   } // end while
   _root["info" + Rnum].format.bold = true;
   _root["info" + Rnum].format.color = 6710886;
   _root["info" + Rnum].info.setTextFormat(_root["info" + Rnum].format);
   _root.onEnterFrame = function ()
   {
       i++;
       _root.banner_mc._x = _root.banner_mc._x + 0.258000 * (_root.myArray[Rnum] - _root.banner_mc._x);
       if (i == 50)
       {
           timerID = setInterval(bannerMotion, 2500, Rnum);
           delete _root["onEnterFrame"];
       } // end if
   };
} // End of the function
Stage.scaleMode = "noScale";
Stage.showMenu = false;
var myArray = Array(180, 4, -172);
info0.onRollOver = info1.onRollOver = info2.onRollOver = function ()
{
   Rnum = this._name.substr(-1, 1) - 1;
   bannerMotion(Rnum);
};
info0.onRelease = info1.onRelease = info2.onRelease = function ()
{
   Lnum = this._name.substr(-1, 1);
   getURL(_root["Link" + Lnum], "");
};
banner_mc.load0.onRelease = banner_mc.load1.onRelease = banner_mc.load2.onRelease = function ()
{
   L2num = this._name.substr(-1, 1);
   getURL(_root["Link" + L2num], "");
};
System.useCodepage = true;
banner_xml = new XML();
banner_xml.ignoreWhite = true;
banner_xml.onLoad = function (sucess)
{
   if (sucess == true)
   {
       banner = banner_xml.firstChild.childNodes.length;
       info0.info.text = banner_xml.firstChild.childNodes[0].attributes.info;
       info1.info.text = banner_xml.firstChild.childNodes[1].attributes.info;
       info2.info.text = banner_xml.firstChild.childNodes[2].attributes.info;
       banner_mc.load0.img_mc.loadMovie(banner_xml.firstChild.childNodes[0].attributes.img);
       banner_mc.load1.img_mc.loadMovie(banner_xml.firstChild.childNodes[1].attributes.img);
       banner_mc.load2.img_mc.loadMovie(banner_xml.firstChild.childNodes[2].attributes.img);
       Link0 = banner_xml.firstChild.childNodes[0].attributes.link;
       Link1 = banner_xml.firstChild.childNodes[1].attributes.link;
       Link2 = banner_xml.firstChild.childNodes[2].attributes.link;
       var _l1 = -1;
       bannerMotion(_l1);
   } // end if
};
banner_xml.load("http://image.cjmall.com/images_new/2006/newmain_flash/main_bannerXML.html");

//====================================================================//

//XML 부분

//====================================================================//

<?xml version="1.0" encoding="euc-kr"?>
<banner>
     <depth img="http://image.cjmall.com/images_new/2006/08/mainbanner01_0823.jpg" info="[아일랜드스타일]2006 F/W" link="http://islandstyle.cjmall.com/main/cjmall/shoppingmall_index.asp?area=mallmain^ns008^01아일랜드&referer=/index_tab1.jsp"/>
     <depth img="http://image.cjmall.com/images_new/2006/08/mainbanner02_0823.jpg" info="[WIZWID]back to school!" link="http://wizwid.cjmall.com/CSW/handler/wizwid/cj/ShopMain-Start?area=mallmain^ns008^02위즈위드&referer=/index_tab1.jsp"/>
     <depth img="http://image.cjmall.com/images_new/2006/08/mainbanner03_0823.jpg" info="[라흐두뜨]parisienne 생활백서!" link="http://laredoute.cjmall.com/event/Cjmall/CJevent_0816.jsp?area=mallmain^ns008^03라후드뜨&referer=/index_tab1.jsp"/>
</banner>

출처 : Tong - ngylove님의 플래시 & 액션스트립트통

아이프레임 리사이즈

IT

아이프레임 리사이즈 스크립트.

아이프레임 페이지내 하단에 넣어주시면 됩니다.


function fnResize() {
       self.resizeTo(document.body.scrollWidth,document.body.scrollHeight);
}  

setTimeout("fnResize()", 600);



팝업 페이지의 사이즈 조절

<body OnLoad="WindowReset(this)">


function WindowReset( win /* Window Object */ ){ // 새창의 크기와 위치 재설정
       
  //
  // 새창의 진행상황 체크 완료되면 코드실행
  //
  //while(win.document.readyState != 'complete'){}
 
  var winBody = win.document.body;
 
  //
  // 새창의 사이즈에 더해줄 marginWidth와 marginHeight
  //
  var marginHeight = parseInt(winBody.topMargin)+parseInt(winBody.bottomMargin);
  var marginWidth = parseInt(winBody.leftMargin)+parseInt(winBody.rightMargin);
  //
  // 새창의 사이즈 설정
  //
  var wid = winBody.scrollWidth + (winBody.offsetWidth - winBody.clientWidth) + marginWidth-50
  var hei = winBody.scrollHeight + (winBody.offsetHeight - winBody.clientHeight) + marginHeight+17;
  //
  // 사이즈 재조정
  //
  win.resizeTo(wid, hei);
}