表结构:
id int(自增)
Texts varChar(5000) 代码:
query1.sql.add(select * from table1);
query1.open;
query1.append;
query1.fieldbyname('Texts').asstring := Str ;//长度大于1000
query1.post;问题:
保存进去的数据 只有一部分 不是str全部
为什么????有什么解决方法?? 急!
id int(自增)
Texts varChar(5000) 代码:
query1.sql.add(select * from table1);
query1.open;
query1.append;
query1.fieldbyname('Texts').asstring := Str ;//长度大于1000
query1.post;问题:
保存进去的数据 只有一部分 不是str全部
为什么????有什么解决方法?? 急!
解决方案 »
- 注册表RootKey
- 高分问题:TSQLQuery.Open返回错误:Cursor not returned from Query
- 各位,我学了段.Net c#,怎么觉得写程序这么别扭,Delphi2005怎么样阿?
- 如何得到x,y之问的角度,x坐标(10,20),y坐标(200,60),程序如何写呢?
- 高分奖励
- 寻找Delphi编程高手-希望与你进行知识交流
- 请教一个TQuery的问题,如何得到一个打开的空的数据集?
- 细表录入问题:
- 请问下面代码中诸如"if ret<>""Size >"之类的是什么东西?
- 是不是Ado版本的问题呀??:
- 注册表KEY的默认值的读写
- 我使用DataSource,我需要对数据源编辑修改,他老提示不能插入,或修改模式!
sP.PARAMbyname('@Texts').asstring := Str ;//长度大于1000@TEXTS varchar(5000)也不行!!!!
query1.fieldbyname('Texts').value := Str
其实这末长 完全可以写语句
建议你用下面的语句查询一下字段中数据的长度:
select datalength(Texts) from table1另外,查询分析器中直接插入是否会出现同样的问题?
query1.sql.add(select * from table1);
query1.open;
query1.append;
query1.fieldbyname('Texts').asstring := Str ;//长度大于1000
query1.post;query1.CLOSE
query1.sql.add(select * from table1);
query1.open;
Str1 := query1.fieldbyname('Texts').asstring ;//长度大于1000
str1 短于 str
insert into test select
'12345678901234567890
...
...
...
12345678901234567890'//我打了400多个字
然后 select datalength(text) from test
返回值是4166
也就是说实际是存进去了 只是在 select * from test 的时候查询分析器显示不全只有255
你试试这样写
str:string;
begin
str:='12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890'
+'12345678901234567890123456789012345678901234567890';
with Adoquery1 do
begin
sql.text:='insert into test select '+#39+Str+#39;
execsql;
end;应该是可以的
为什么????
答:你用是字符串型,他支持的最大长度为 255。
解决方案1:wideString;