作者:deadman21 | 来源:互联网 | 2023-05-18 09:06
长文本插入sqlserver的text字段后取出被截断问题,将数十个汉字插入sqlserver2000的text字段,取出时只有大概16个字节,即被截断了,到数据库中查看字节是完整的,问题出在取出上,
长文本插入sqlserver的text字段后取出被截断问题,将数十个汉字插入sqlserver2000的text字段,取出时只有大概16个字节,即被截断了,到数据库中查看字节是完整的,问题出在取出上,各位高手,这个问题怎么解决?
15 个解决方案
取得:
ADODataSet1->Close();
ADODataSet1->CommandText="SELECT iTXT FROM B_RFCX WHERE ID=1;";
ADODataSet1->Open();
ListBox1->Items->Text=Form1->ADODataSet1->FieldByName("iTXT")->AsString;
只有约16个字节的字符,剩余的被截断,到数据库中查看是完整的数百字节,并比对无误
用AsAnsiString,如:
Form1->ADODataSet1->FieldByName("iTXT")->AsAnsiString;
没有错 是16个字节
如果你输入了16个汉字 只会得出8个汉字
一个汉字由两个字节组成的
建议你用 varchar类型
不要用Text 类型 避免的无辜的意外