hur.cn - 华软网

 热门搜索

从.txt文件中取300字左右的文字,放在datawindows中,可是怎么也更新不了????气死了,急死了!!!!!!

  作者:未知    来源:网络    更新时间:2017/9/29
首先打开txt文件,把药放入数据库的文字读出来,放在变量中str_wenzi,然后这么执行:
dw_1.setitem(1,'lie',str_wenzi)
dw_1.accepttext()
if dw_1.update()=1 then
commit;
else
rollback;
end if

可是总是更新失败,文字要使少一些的话比如10个左右就没问题,lie的类型是longtext类型
数据库:mysql 
pb:8.0

------华软网友回答------
datawidow好像只能更新256個字節。
------华软网友回复------
可能是字符太多了。
------华软网友回复------
to sywen(古道西風),

大侠,又没有解决的方法?



------华软网友回复------
大峽,慚愧啊!
直接用update更新吧。
------华软网友回复------
我写了UPDATE spb  
     SET lie= :str_wenzi  where ....;
     commit;

可是执行结果只能保存文字的一部分
------华软网友回复------
pb 我该如何去爱你呀
------华软网友回复------
数据窗口那边的lie 字段的char(255) 改为 char(4999),如果text不行,改为varchar;
------华软网友回复------
lie的类型,longtext我不知道longtext是什麽類型,你的寬度是多少是否大於300,而且要注意漢字是兩個字節的。
------华软网友回复------
使用updateblob进行更新
------华软网友回复------
别的数据库的是text的类型的好像可以超过255的,mysql的没用过,试试改成text类型呢,不行的话再用updateblob试试,就是没有dw方便!
------华软网友回复------
多谢,在datawindow中,lie的类型是char(32766),所以我更加晕了!
好的我试试updateblob,等一下!
------华软网友回复------
同意楼上各位的,但是数据库表字段的长度也要调才可以
------华软网友回复------
blob b
b=blob(str_wenzi)
messagebox("",string(b))
UPDATEBLOB biao SET lie = :b
WHERE ...
commit;

结果是:只取str_wenzi当中的100多个汉字放到数据库中。
------华软网友回复------
怎么样了,比较郁闷,不会呀!
------华软网友回复------
最后一次尝试,弄明白怎么回事?
------华软网友回复------
我也遇到了同样的 问题,同问~
------华软网友回复------
此问耽搁这么久还没有解决,没办法,在等一下,打算用c弄一下,等有了结果就回来结贴!
------华软网友回复------
你把数据库里的字段长度改了啊 然后数据对象的sql刷新一下啊!!!
------华软网友回复------
用updateblob时将sqlca.autocommit设为true
------华软网友回复------
很明顯是數據庫的問題!!可以定義的時候﹐長度不夠
要不就是在datawindows中欄位長度不夠      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。