站長留言

  • ✅ 本站維護及更新歷史紀錄,詳情請參考公告
  • ✅ 有任何意見、想法,歡迎留言給Spicy知道喔
  • ✅ 固定於每周一至周五更新Blogger文章,周末不定期
程式資料庫InTouchMSSQL

【InTouch】EP13:如何將超過131字元的字串塞進資料庫?


目標 Common

  • InTouch天生的限制,其Tag字串(Message) 最大字元就是131,連程式碼中的字串也不可以超過131字元。
  • InTouch自帶alarm發警報的功能,但若想透過另一隻程式發出警報,勢必得將警報訊息、錯誤訊息儲存至資料庫,但資料庫又不希望開一大堆欄位來存需要組合的無數131字元的點位

範例說明

步驟1:建立InTouch點位

名稱類型
ConnectionIdint
StatementIdint
AlarmMessage1string
AlarmMessage2string
AlarmMessage3string
AlarmMessage:此tag點位最多就131字元

步驟2:建立InTouch Bind List 

任意宣告一個Bind List,例如:testBindList

步驟3:創建資料庫Table及其欄位

以MSSQL為例
  • Table名稱:test_table
  • 欄位名稱:message
  • 欄位類型:varchar(max)

解法說明

SQLAppendStatement():利用這個方法將SQL語法的字串組合起來,即可實現將數個字串tag組合成一個警報訊息,組合完成後再一次執行此SQL語法

步驟4:撰寫Script


// 資料庫連線...自行撰寫

SQLSetStatement(ConnectionId, "INSERT INTO test_table(message) VALUES ('"); SQLAppendStatement(ConnectionId, AlarmMessage1); SQLAppendStatement(ConnectionId, AlarmMessage2); SQLAppendStatement(ConnectionId, AlarmMessage3); SQLAppendStatement(ConnectionId, "')"); SQLPrepareStatement(ConnectionId,StatementId); SQLExecute(ConnectionId,"testBindList",StatementId);

參考資料 Reference

沒有留言:

張貼留言

本網站建議使用電腦或平板瀏覽