2013-03-05 29 views
0

我目前正在cobol2中創建我的項目..我正在使用微焦點的視覺cobol,並使用Ado.net作爲我的數據庫..在openesql助理的界面上,我可以插入值我的數據庫表.. 但我對Button1的項目的形式在點擊我有一個錯誤說「NO SQL指令具有被設爲」在視覺cobol中的Sql指令錯誤

(這裏是我的代碼

method-id button1_Click final private. 
    procedure division using by value sender as object e as type System.EventArgs. 

    EXEC SQL 
    INSERT INTO NayreInventory 
    (ItemCode 
    ,ItemDescription 
    ,Quantity 
    ,Price 
    ) VALUES (
    :NayreInventory-ItemCode:NayreInventory-ItemCode-0001 
    ,:NayreInventory-ItemDescription:Col-2-MEDICOL 
    ,:NayreInventory-Quantity:NayreInventory-Quantity-5 
    ,:NayreInventory-Price:NayreInventory-Price-150 
    ) 
    END-EXEC. 

    invoke type MessageBox::Show("1 RECORD HAS BEEN SUCCESSFULLY ADDED", "RESULT") 
    end method. 

) 如何擺脫錯誤.. 請幫助我..我真的希望你的幫助..

回答

1

你是否也有消息編號?

「0149沒有SQL指令已經被設置爲」

該消息的描述是:

「的EXEC SQL語句已經遇到過,但沒有SQL指令已經被指定的語句的處理變化取決於指令SQL是否已設置;必須明確指定SQL或NOSQL

另請參見: SQL Server編譯器指令,請參閱Server Express用戶指南中編譯器的指令一章。

所以它看起來像你缺少編譯腳本中的「編譯器選項」。

這是來自:http://supportline.microfocus.com/documentation/books/sx20books/emsynt.htm

爲了得到我只是用Google搜索你的錯誤消息的信息。

+0

我已經谷歌它,但我真的不知道,並明白它是什麼意思.. 請幫我.. 張貼一些代碼更清晰的意見 – 2013-03-06 03:15:45

+0

你沒有一個Micro Focus手冊?你需要將編譯器選項/指令設置爲SQL或NOSQL,你需要一個或另一個,你不能離開它。我沒有Micro Focus手冊。這可能是SQL語句在「編譯時」,是由預處理器還是由內置處理器處理。 SQL本身不是Cobol的一部分,因此它必須單獨編譯,具體取決於編譯器。使用編譯器嘗試「幫助」,然後查找設置「選項」或「指令」的內容。 – 2013-03-06 06:54:59

1

有幾個ways to specify Micro Focus COBOL compiler directives。指定您SQL/NOSQL directive一種方法是嵌入指令在COBOL源,與$在第7欄,就像這樣:

 $SET SQL 

,或者根據您的需要:

 $SET NOSQL 

你也可以使用command line

cob -C SQL ...source file name and other arguments 

請按照鏈接瞭解更多詳情。

+0

我還建議將SQL語句移入單獨的COBOL程序。您還可以在項目級別和每個文件基礎上設置SQL或NOSQL指令。 – 2013-03-13 09:47:19