|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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 文章: 455
第 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 文章: 455
第 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 文章主題: |
|
|
謝謝各位先進,確實是欄位長度要一樣才寫得進去!!真的是太感謝了!! |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4227 來自: Taipei,Taiwan
第 7 樓
|
發表於: 星期五 十二月 10, 2021 10:23 am 文章主題: |
|
|
所以用 SPT 方式比用純手動方便且不容易出錯
---
我是來蹭熱度的 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 455
第 8 樓
|
發表於: 星期六 十二月 11, 2021 7:01 am 文章主題: |
|
|
謝謝各位先進,確實是欄位長度要一樣才寫得進去!!真的是太感謝了!!
*************
應是:變數長度小於 或等於sql 的欄位寬度,才能成功寫得進去 |
|
回頂端 |
|
|
queena1024
註冊時間: 2007-04-16 文章: 37
第 9 樓
|
發表於: 星期一 十二月 13, 2021 4:27 pm 文章主題: |
|
|
您好...但是我一開始寫入都是小於對方廠商oracel定義的長度,但是就是寫不進去耶,是後來硬補上空白等於它ㄉ定義長度才寫入成功的...我也覺得很奇怪 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4227 來自: Taipei,Taiwan
第 10 樓
|
發表於: 星期一 十二月 13, 2021 9:17 pm 文章主題: |
|
|
PADR(LEFT(RTRIM(FIELD_NAME),LEN(FIELD_NAME)),LEN(FIELD_NAME)) _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|