不会吧,Varchar不会补空格的,char才会
解决方案 »
- ClientDataSet能不能新增一个临时列?
- 求助:第一次来这里,请教几个问题,大家帮帮忙!
- 请问如何把一个TreeView的所有节点完整的拷贝到另一个TreeView中表现?
- 急呀,STRINGGRID
- 多窗体的子窗体问题???高分相送!
- 怎樣才能執INSERT INTO這個SQL?
- delphi执行批处理和关闭exe文件的问题
- 数据类型的转化问题!!!
- 怎样对一个文件夹改名?
- 在.db数据库中,100个字段名算不算多?记录可能在2000到5000之间。请到另一帖子http://www.csdn.net/expert/Topic/127/127961.shtm上挂号分帐。
- 哪位高手救救我吧。。。
- 有谁做过z39.50协议上的开发......
select * from class where name ='1234 '
才能找到你要的记录,说明问题不在ADOQuery,应该在SQL Server中。你在查询分析器中试试。我没遇到这样的问题,就是 char(20),也不需要补空格。
定义了一个表,且输入了几个记录:
zd1 char 10
zd2 char 10用ADODataset1+ DBGrid1:void __fastcall TForm1::Button1Click(TObject *Sender)
{
String zd1=ADODataSet1->FieldByName("zd1")->AsString;
String zd2=ADODataSet1->FieldByName("zd2")->AsString;
ShowMessage(zd1.Length());
ShowMessage(zd2.Length()); // 验证字符长度
}
zd1 长度总显示10,说明char类型是定长串;
zd2 长度不断变化,说明varchar 是变长串;
varchar代替char 就行了!
你说varchar 是定长,我就不信了;
zd1 char 10
zd2 varchar 10
'select * from class where Ltrim(rtrim(name)) ='+'1234'