2014-10-27 9 views
1

我試圖從我的文本文件中將值插入到使用應用程序引擎的記錄中。
我知道這可以使用文件佈局來完成,但我的要求建議不要使用文件佈局,但需要使用應用程序引擎人員代碼插入記錄。使用應用程序引擎插入值

我在我的AppEngine 寫下面的PeopleCode(在這裏,我想只有一個字段值添加到我的記錄在這個例子中)

Local File &MYFILE; 
Local Record &REC_ERN; 


&MYFILE = GetFile("c:\sample.csv", "R", %FilePath_Absolute); 

If &MYFILE.IsOpen Then 

While &MYFILE.ReadLine(&STRING); 






MessageBox(0, "", 0, 0, &STRING); 
&source_type_id = Substring(&STRING, 1, 3); 
&Stmt= "INSERT INTO KGS_TEST (ID) VALUES (&source_type_id)"; 

SQLExec(&Stmt); 
REM MessageBox(0, "", 0, 0, &source_type_id); 


End-While; 
End-If; 

&MYFILE.Close(); 

我現在面臨的問題是& source_type_id =子串( STRING,1,3); 變量& source_type_id有值,但我需要將其插入到我創建的具有字段(ID,NAME,AGE,department)的記錄中。

+0

爲什麼不在問題標題中修正拼寫錯誤? – 2014-10-27 11:30:07

回答

1

您遇到的問題是您的變量& source_type_id位於字符串內,因此按字面解釋爲字符串的一部分,而不是您想要的變量的值。

您需要做的是在該字符串中爲該值放置一個綁定變量,然後將該值作爲參數傳遞給SqlExec。

Local File &MYFILE; 

&MYFILE = GetFile("c:\sample.csv", "R", %FilePath_Absolute); 

If &MYFILE.IsOpen Then 
    While &MYFILE.ReadLine(&STRING); 

     MessageBox(0, "", 0, 0, &STRING); 
     &source_type_id = Substring(&STRING, 1, 3); 
     &Stmt= "INSERT INTO KGS_TEST (ID) VALUES (:1)"; 

     SQLExec(&Stmt,&source_type_id); 
     REM MessageBox(0, "", 0, 0, &source_type_id); 

    End-While; 
End-If; 

&MYFILE.Close(); 
相關問題