* 고객시스템명 :
* GAUCE 버전 :
* WAS 종류(WebLogic 등등) : WebLogic
* DB 종류 : Oracle
* 문의 유형(질문/요청/참조) : ImportData후 SyncData에 의해 중복체크가 되지 않음.
* 내용 :
--------------------------------------------------
<script>
function doImport()
{
tb_DataSet.ImportData(txa_TempData.value);
var syncStat = tb_DataSet.SyncData;
alert("SyncData=>"syncStat);
}
</script>
<script language=JavaScript for=tb_DataSet event=OnDataError(row,colid)>
alert("tb_DataSet.OnDataErrorn" +
"["+ tb_DataSet.ErrorCode +" ]"+ tb_DataSet.ErrorMsg );
</script>
<body>
<table frame=box width=456><tr><td>ExportData, ImportData</td>
<td width=100>DataSet</td></tr></table><br>
<input type=button value="Data Reset" onClick="tb_DataSet.Reset()">
<input type=button value="Data Clear" onClick="tb_DataSet.ClearData()">
<input type=button value="Data Export"
onClick="txa_TempData.value = tb_DataSet.ExportData(1,tb_DataSet.CountRow,false)">
<input type=button value="Data Import" onClick="doImport();">
<br><br>
<object classid=CLSID:1F57AEAD-DB12-11D2-A4F9-00608CEBEE49 height=200 width=456>
<param name=DataID value=tb_DataSet>
<param name=Format value='
<C>ID=Partno name="Part No" width=100</C>
<C>ID=Partnm name="Part Name" width=210</C>
<C>ID=Price name="Price" width=110</C>'>
</object>
<br><br>
<textarea id=txa_TempData cols=62 rows=10></textarea>
</body>
--------------------------------------------------
위의 소스는 Component Manual에 DataSet의 Method 인 ImportData 의 Sample 인
./sample/ImportData_s1.html
을 조금 수정한 것입니다.
그 소스중 import할 csv data는 아래와 같이 조금 수정되었습니다.
KEYVALUETYPE을 한개의 컬럼에 부여하였고
KEYVALUETYPE으로 선언된 컬럼중 중복된 데이타도 만들었습니다.
------------------------------------------------------
partno:STRING(16):KEYVALUETYPE,partnm:STRING(40),price:DECIMAL(10.2)
S010100001,Pentium III,102.45
S010100005,1G DRAM,450.55
S010200011,CD Driver(24x),201.86
S010200012,CD Driver(48x),305.14
S010200014,"Monitor(14"")",119.65
S010300002,"Monitor(16"")",652.32
S010300015,"Monitor(20"")",429.3
S010300016,Mouse,287.87
S010300016,Keyboard,528.68 <-----여기가 중복된 행입니다.
---------------------------------------------------------
이렇게 ImportData Method를 사용할시에는 중복된 데이터에 대한 SyncData로 검증이 이루어지지 않았습니다.
물론 ImportData가 완료된 후에 SyncData 한 결과는 정상이었으나
Grid의 중복된 Data를 클릭하면 이때 OnDataError 이벤트에 작성된 메세지가 출력되었습니다.
ImportData 직후에 Import 된 Data의 SyncData 결과가 true (정상;중복없음) 로 나오는 이유를 모르겠습니다.