SAP HANA Studio에서 Hana 응용 프로그램을 만들고 있습니다. 나는 그들이 "1"과 "사과"같은 정상적인 것들을 만들 때 만든 hdbtable에 항목을 삽입 할 수 있습니다. 어떤 이유로 "+"또는 "%"와 같은 값을 추가하려고하면 데이터 미리보기에서 공백으로 표시됩니다. 그들은 어떻게 저장되지 않을까? 이러한 문자를 추가 할 수 있도록 어떻게 수정하면됩니까? NVARCHAR 및 VARCHAR 변경이 작동하지 않습니다.특정 문자를 삽입 할 수 없습니다. 데이터베이스
다음은 내 테이블에 대한 내 스키마입니다.
$.response.contentType = "text/html";
var id = $.request.parameters.get('id');
var desc = $.request.parameters.get('desc');
$.trace.debug("Here is my log.");
try {
var conn = $.db.getConnection();
var st = conn.prepareStatement("INSERT INTO \"scheming\".\"blah.blah::test_table\" values(?,?)");
st.setString(1, id);
st.setString(2, desc);
st.execute();
st.close();
conn.commit();
conn.close();
$.response.setBody('X');
} catch (err) {
$.response.setBody(err);
// $.response.status = $.net.http.INTERNAL_SERVER_ERROR
}
컨트롤러 파일
jQuery(document).ready(
function() {
jQuery.get("/com/colpal/training/test1/Insert.xsjs?id=" + id +"&desc=" + desc,
function(result) {
if (result == 'X'){
console.log("Inserted");
}else if(result == 'Y'){
console.log("Fail");
}
});
});
를 어떻게 핸드 오버 당신이 당신의 스크립트에 삽입 할 매개 변수를합니까? URL 매개 변수를 통해? 이 경우 %,?, +, :와 같은 URL에 특수한 문자를 이스케이프 처리하십시오. –
필자는 매개 변수를 핸드 오버하는 컨트롤러 부분을 추가했습니다. 정확히 내가 수표를 발행해야합니까? 내가 컨트롤러에서 desc 매개 변수로 %를 소개 할 때,'Insert.xsjs? id = 17 & desc = %'(400 에러를 리턴 함)를 보았 기 때문에 괜찮습니다. 나는 XSJS'desc === "% 25"'을 검사했고, 그렇다면 나는 단지 "%"로 바꾼다. 그러나 나는 그것을 수정한다고 생각하지 않는다. – SAPUI5GUY
당신이 옳다고 생각하지만 제 질문은 URL이 인코딩을하는 곳이라고 생각합니까? 해결 방법은 컨트롤러의 desc를 "perc"와 같은 정의 된 문자로 변경 한 다음 XSJS 파일에서이 값인지 확인하는 것입니다. 이 문제를 해결할 수있는 가장 좋은 방법입니까? – SAPUI5GUY