VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

sqlexec無法新增資料到oracle

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
queena1024



註冊時間: 2007-04-16
文章: 37


第 1 樓

發表發表於: 星期四 十二月 09, 2021 3:58 pm    文章主題: sqlexec無法新增資料到oracle 引言回覆

各位先進您好...下面是我寫入oracle的程式...可以幫我解惑是哪裡有問題..都沒有錯誤訊息但也都新增不進去...我也有搜尋討論區的文章但還是不懂..謝謝大家

MSQH=SQLSTRINGCONNECT("DSN=XEE;Uid=MIW;Pwd=MIW;")

insqla="insert into nuorder(institution_code,institution_type,exam_ym,medical_date,medical_type,medical_seqno,card_remark,id_no,birthday,medical_orders_code,report_seqno,exam_date,body_part,patient_id,accession_no) "

insqlb="values(?v1,?v2,?v3,?v4,?v5,?v6,?v7,?v8,?v9,?va,?vb,?vc,?vd,?ve,?vf)"

select xup
go top
scan
v1=xup.hcode
v2=xup.hptype
v3=xup.fdate
v4=xup.up_ddat
v5=xup.up_casetyp
v6=xup.cno
v7=xup.fillm
v8=xup.idno
v9=xup.birthday
va=xup.m_no
vb=xup.seqno
vc=xup.exa_date
vd=xup.position
ve=xup.chart_no
vf=xup.access_no

=SQLEXEC(MSQH,insqla+insqlb)
endscan

資料表總共有34個欄位..我只有對15個欄位做新增..應該沒差吧?
回頂端
檢視會員個人資料 發送私人訊息
CPS0204



註冊時間: 2014-08-24
文章: 441


第 2 樓

發表發表於: 星期四 十二月 09, 2021 8:11 pm    文章主題: 引言回覆

這行=SQLEXEC(MSQH,insqla+insqlb)
改為 bb=SQLEXEC(MSQH,insqla+insqlb)
if bb<0
=messagebox('SQL-error: '+INSQLA+INSQLB,16)
ENDIF
這樣看看有無反應
回頂端
檢視會員個人資料 發送私人訊息
queena1024



註冊時間: 2007-04-16
文章: 37


第 3 樓

發表發表於: 星期四 十二月 09, 2021 9:42 pm    文章主題: 引言回覆

謝謝您的回答!!
我改成bb=SQLEXEC(MSQH,insqla+insqlb)確實回傳值bb是小於0代表寫入確實失敗,但會是甚麼原因造成呢?
因為我=SQLEXEC(MSQH,"SELECT * FROM NUORDER","AER_TEMP")是成功的確實是有連結到此資料表格,不知道為啥會寫入失敗,是寫入前還需要設定甚麼參數值嗎??
回頂端
檢視會員個人資料 發送私人訊息
CPS0204



註冊時間: 2014-08-24
文章: 441


第 4 樓

發表發表於: 星期五 十二月 10, 2021 7:24 am    文章主題: 引言回覆

寫入失敗,是否SQL 的欄位不接受 NULL
先做一個小TABLE欄位少一點的TEST一下,每個欄位都寫入值!

或是你的LOCAL 是 CHAR(30),但後端SQL TABLE 開 CHAR(20),這樣也會有問題!
以前寫入客戶基本檔時ˋ,欄位也是50多個,出問題,只能單個欄位抓問題!
回頂端
檢視會員個人資料 發送私人訊息
211482



註冊時間: 2003-07-15
文章: 53


第 5 樓

發表發表於: 星期五 十二月 10, 2021 9:12 am    文章主題: 引言回覆

看錯誤訊息
IF bb = -1
AERROR(aErrors)
= MESSAGEBOX("錯誤,因為發生下列錯誤,程式中斷執行。" + CHR(13) + CHR(13) ;
+ STR(aErrors[1,1]) + " " + aErrors[1,2], 0+16+0, "錯誤")
ENDIF
回頂端
檢視會員個人資料 發送私人訊息
queena1024



註冊時間: 2007-04-16
文章: 37


第 6 樓

發表發表於: 星期五 十二月 10, 2021 9:52 am    文章主題: 引言回覆

謝謝各位先進,確實是欄位長度要一樣才寫得進去!!真的是太感謝了!! Very Happy
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 7 樓

發表發表於: 星期五 十二月 10, 2021 10:23 am    文章主題: 引言回覆

所以用 SPT 方式比用純手動方便且不容易出錯

---
我是來蹭熱度的 Very Happy

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
CPS0204



註冊時間: 2014-08-24
文章: 441


第 8 樓

發表發表於: 星期六 十二月 11, 2021 7:01 am    文章主題: 引言回覆

謝謝各位先進,確實是欄位長度要一樣才寫得進去!!真的是太感謝了!!
*************
應是:變數長度小於 或等於sql 的欄位寬度,才能成功寫得進去
回頂端
檢視會員個人資料 發送私人訊息
queena1024



註冊時間: 2007-04-16
文章: 37


第 9 樓

發表發表於: 星期一 十二月 13, 2021 4:27 pm    文章主題: 引言回覆

您好...但是我一開始寫入都是小於對方廠商oracel定義的長度,但是就是寫不進去耶,是後來硬補上空白等於它ㄉ定義長度才寫入成功的...我也覺得很奇怪
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4211
來自: Taipei,Taiwan

第 10 樓

發表發表於: 星期一 十二月 13, 2021 9:17 pm    文章主題: 引言回覆

PADR(LEFT(RTRIM(FIELD_NAME),LEN(FIELD_NAME)),LEN(FIELD_NAME))
_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作