MS SQL Server中char类型的数据如何与delphi中string类型的数据进行比较?(100分)

  • 主题发起人 主题发起人 donkeytian
  • 开始时间 开始时间
D

donkeytian

Unregistered / Unconfirmed
GUEST, unregistred user!
如:
ADOTable1.Filter:='username =' + Edit1.Text;
其中,username字段为MS SQL SERVER中定义的CHAR类型,运行总提示数据类型不符。怎样解决?
 
ADOTable1.Filter:='username ='''+ Edit1.Text+'''';//试试看,
 
to 来如风: 我试了,ok,为什么这样就可以呢?有没有相关的资料介绍?
谢谢!
 
ADOTable1.Filter:='username ='''+ Edit1.Text+'''';
//这句话是说table1.filter:=username='ssss';//假设eidt1.text=ssss
你以前的只是为username=ssss;这样肯定不对了,
所以呢你要在字符串前后自己加上 ' ,而单独的 '是需要在他前面再加一个'表示转义的
懂了吗?
 
你可以将Char类型转换为String类型,也可以将String类型转换为Char类型呀!
 
但是这几个'''彻底把我弄糊涂了,它们是对应的吗,可不可以分开解释?
谢谢!
 
''''你可以前后分开看,一般字符串的表示你都是前后加'的吧,就是这个意思
一前一后的'是对应的,
如'abc''cd''ef'其实他是表示字符串abc'cd'ef,看明白了吗?
 
'username'''+edit.text+表示字符串username'edit.text是吧? 但是,最后的四个'是什么含义?
谢谢!
 
最后的四个'表示字符串'的意思啊,
前后两个'是对应的,就象'dfd'这个的意思一样,中间的两个表示'的意思,
这时pascal的语法啊,单独的字符'的表示方法是在他的前面再加个'
 
是否是表示'',那不是为空吗?
 
不是的,中间的两个'只是表示字符串'的意思,因为'是特殊字符,所以要这样表示,
还没有懂???晕了,看看基本语法,
 
这样也可以的
ADOTable1.Filter:='username =' + QuotedStr(Edit1.Text)
 
还不懂!
 
多人接受答案了。
 
后退
顶部