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 = Substring(&STRING, 1, 3); 变量 &source_type_id 具有值,但我需要将其插入到我创建的具有字段(ID、NAME、AGE、部门)的记录中。

4

1 回答 1

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(); 
于 2014-10-27T18:50:44.227 回答