上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
alung
註冊時間: 2005-11-23 文章: 80
第 1 樓
|
發表於: 星期一 二月 17, 2014 12:37 pm 文章主題: memo 如何轉字串? |
|
|
我是用VFP 5.0 版本,今VFP 有一欄位summary memo 欄位想轉至遠端資料集ms-sql 的 rem chr(1000) (假設 sql table name= test)
summary_w =summary
updstr="update test SET rem='&summary_w' where year='&yy_w' and stu_no='&studentid_w"一直出現語法錯誤之訊息,請教先進vfp memo 要如何轉字串去更心 sql 字串欄位呢? ?
testval=SQLEXEC(xConnHandle,updstr)
感謝幫忙 |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 2 樓
|
發表於: 星期一 二月 17, 2014 2:32 pm 文章主題: |
|
|
剛剛發現summary_w字串長度>=254才會發生語法錯誤之訊息~好像是vfp 字元限制,有沒有解決方法呢? |
|
回頂端 |
|
 |
oldbb
註冊時間: 2007-02-28 文章: 83
第 3 樓
|
發表於: 星期一 二月 17, 2014 2:37 pm 文章主題: |
|
|
'&studentid_w" --> '&studentid_w'" |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 4 樓
|
發表於: 星期一 二月 17, 2014 3:53 pm 文章主題: |
|
|
您好:我程式是 '&studentid_w'" 沒錯summary_w-->字串長度 254才會發生語法錯誤之訊息 |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 5 樓
|
發表於: 星期一 二月 17, 2014 5:10 pm 文章主題: |
|
|
我改成ms_sql test table vfp用ODBC 方式建立一遠端資料集 safs_test_set
下 update safs_test_set rem=summary_w where year=yy_w and stu_no=studentid_w
第 2 次 update 時便發生資料更新衝突的錯誤訊息,唉~蠻傷腦筋的
各位先進麻煩幫幫忙,感謝 |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 6 樓
|
發表於: 星期一 二月 17, 2014 5:12 pm 文章主題: |
|
|
update safs_test_set set rem=summary_w where year=yy_w and stu_no=studentid_w
第 2 次 update 時便發生資料更新衝突的錯誤訊息 |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 7 樓
|
發表於: 星期二 二月 18, 2014 9:39 am 文章主題: |
|
|
updstr="update test SET rem=?summary_w where year=?yy_w and stu_no=?studentid_w"
testval=SQLEXEC(xConnHandle,updstr) _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 8 樓
|
發表於: 星期二 二月 18, 2014 10:50 am 文章主題: |
|
|
syntech 寫到: | updstr="update test SET rem=?summary_w where year=?yy_w and stu_no=?studentid_w"
testval=SQLEXEC(xConnHandle,updstr) |
唉.....
 |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 9 樓
|
發表於: 星期二 二月 18, 2014 1:31 pm 文章主題: |
|
|
syntech 寫到: | updstr="update test SET rem=?summary_w where year=?yy_w and stu_no=?studentid_w"
testval=SQLEXEC(xConnHandle,updstr) |
感謝幫忙,已可以work了,唯summary_w內容倘超過600字元,雖然有執行成功,可是好像都會被截斷,用len(rem)查都有佔用資料,可是rem都看不到實質的資料,我rem 設 varchar(1200),有方法可以解決嗎?感恩^^ |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 10 樓
|
發表於: 星期二 二月 18, 2014 3:00 pm 文章主題: |
|
|
alung 寫到: | syntech 寫到: | updstr="update test SET rem=?summary_w where year=?yy_w and stu_no=?studentid_w"
testval=SQLEXEC(xConnHandle,updstr) |
感謝幫忙,已可以work了,唯summary_w內容倘超過600字元,雖然有執行成功,可是好像都會被截斷,用len(rem)查都有佔用資料,可是rem都看不到實質的資料,我rem 設 varchar(1200),有方法可以解決嗎?感恩^^ |
我在sql server 環境直接下insert 指令資料用超過600字元去測試也是會出現問題,改成nvarchar(1200) 也是一樣,另外使用 DTS csv 或 資料庫匯入也是一樣,感覺是sql sever的問題(我用的是 sql2000),有沒有解決方式呢?
謝謝答覆 |
|
回頂端 |
|
 |
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 11 樓
|
發表於: 星期二 二月 18, 2014 10:11 pm 文章主題: |
|
|
感覺不是sql sever的問題 |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 12 樓
|
發表於: 星期三 二月 19, 2014 9:00 am 文章主題: |
|
|
ckp6250 寫到: | 感覺不是sql sever的問題 |
剛有透過網頁程式去查詢 rem 欄位資料,發覺其實資料是有寫進去的,
只是在sql server 那邊直接操作 select rem, len(rem) check data 是不準的,
要下SELECT SUBSTRING(rem, 1, 500) FROM stdat WHERE
or SELECT SUBSTRING(rem, 500, 1200) FROM stdat WHERE用 len(rem) 長度是不準的
感謝大家幫忙~syntech 謝謝您哦  |
|
回頂端 |
|
 |
syntech
註冊時間: 2003-05-16 文章: 4249 來自: Taipei,Taiwan
第 13 樓
|
發表於: 星期三 二月 19, 2014 9:21 am 文章主題: |
|
|
"SELECT cast(rem as char(1200)) as rem FROM stdat WHERE .... "
有謠言說,varchar,char,nvarchar 用 odbc 可能無法傳回完整內容
不行的話,要用下面的試看看
"SELECT cast(rem as text) as rem FROM stdat WHERE .... "
也可以用 "MS SQL 2k Query Analyzer truncate 255 varchar " google 看看 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙
syntech 在 星期三 二月 19, 2014 9:52 am 作了第 2 次修改 |
|
回頂端 |
|
 |
alung
註冊時間: 2005-11-23 文章: 80
第 14 樓
|
發表於: 星期三 二月 19, 2014 9:40 am 文章主題: |
|
|
alung 寫到: | ckp6250 寫到: | 感覺不是sql sever的問題 |
剛有透過網頁程式去查詢 rem 欄位資料,發覺其實資料是有寫進去的,
只是在sql server 那邊直接操作 select rem, len(rem) check data 是不準的,
要下SELECT SUBSTRING(rem, 1, 500) FROM stdat WHERE
or SELECT SUBSTRING(rem, 500, 1200) FROM stdat WHERE用 len(rem) 長度是不準的
感謝大家幫忙~syntech 謝謝您哦  |
sorry 我錯了~len(rem) 不是不準~是把中文跟英文或數字一樣當成1個字元計算 |
|
回頂端 |
|
 |
aizz
註冊時間: 2007-01-29 文章: 172
第 15 樓
|
發表於: 星期三 二月 19, 2014 2:49 pm 文章主題: |
|
|
alung 寫到: | alung 寫到: | ckp6250 寫到: | 感覺不是sql sever的問題 |
剛有透過網頁程式去查詢 rem 欄位資料,發覺其實資料是有寫進去的,
只是在sql server 那邊直接操作 select rem, len(rem) check data 是不準的,
要下SELECT SUBSTRING(rem, 1, 500) FROM stdat WHERE
or SELECT SUBSTRING(rem, 500, 1200) FROM stdat WHERE用 len(rem) 長度是不準的
感謝大家幫忙~syntech 謝謝您哦  |
sorry 我錯了~len(rem) 不是不準~是把中文跟英文或數字一樣當成1個字元計算 |
終於....
現在的小孩, 不懂禮貌的實在太多... 像你能夠把最後結論再分享出來, 值得嘉獎
 |
|
回頂端 |
|
 |
|