是 用 ADOQuery 组件!!
我用
ADOQuery.Close;
ADOQuery.sql.clear;
ADOQuery.sql.Add('select * from user_info where user_name=:user_name');
ADOQuery.parameters.ParamByName('user_name').Values:='gushuheng';
ADOQuery.Prepares;
ADOQuery.Open;user_name 为gushuheng 的 在表 user_info 里面是 存在的,但是运行结果却是为空,不知道为什么?? 是不是哪里出了问题!! 请教
我用
ADOQuery.Close;
ADOQuery.sql.clear;
ADOQuery.sql.Add('select * from user_info where user_name=:user_name');
ADOQuery.parameters.ParamByName('user_name').Values:='gushuheng';
ADOQuery.Prepares;
ADOQuery.Open;user_name 为gushuheng 的 在表 user_info 里面是 存在的,但是运行结果却是为空,不知道为什么?? 是不是哪里出了问题!! 请教
解决方案 »
- 如何制作Delphi7绿色版
- execProgram,CopyAFile 這兩個function ,需包哪個單元文件
- 请教大家一个简单的小问题!
- Tchar的一个小属性,却烦了我好几天!
- 求救,我想在DBGRID中出现CHECKBOX ,请问如何实现?
- ??? 扫描仪activex控件(TImgScan),扫描完毕后,不能保存成图片文件,为什么?
- ADOQuery数据保存
- 发现CSDN上的人对于难的问题参与积极性都比较差。
- 运行客户端产生Dax error!!ErrorMessage:Name not unique in this context.????????????
- 关于DHTMLEDIT非法操作的问题
- 得到系统日期的问题。
- 能不能给一个工程的例子
ADOQuery.sql.clear;
ADOQuery.sql.Add('select * from user_info where user_name=:user_name');
ADOQuery.parameters.ParamByName('user_name').Value:='gushuheng';
ADOQuery.Open;
如果记录存在,不会为空的
如果是sqlserver数据库,列为char型的话!
'select * from user_info where rtrim(user_name)=:user_name'
strSQL,STR:string;
begin
STR:='gushuheng';
strSQL:='select * from user_info where user_name='+'''+STR+'''';
ADOQuery.Close;
ADOQuery.sql.clear;
ADOQuery.sql.Add(str);
ADOQuery.Open;......
改成 user_name varchar(20) not null; 运行结果就正确!!! 现在我想是不是ADOQuery.sql.Add('select * from user_info where user_name=:user_name');
ADOQuery.parameters.ParamByName('user_name').Value:='gushuheng';在传送 查询时 参数是 gushuheng\0!! 而用 char(20) 定义时 里面是
gushuheng\0\0\0\0\0\0\0\0\0\0\0 !!! 也就是说系统把它初始化为 0 然后在填入gushuheng!! 而 varchar(20) 定义时则没有初始化为0这一点,然后系统是 填入 gushuheng\0 !!! 两者的系统占用 都是 20 个字节!!!!
请教各位大哥!
改成 user_name varchar(20) not null; 运行结果就正确!!! 现在我想是不是ADOQuery.sql.Add('select * from user_info where user_name=:user_name');
ADOQuery.parameters.ParamByName('user_name').Value:='gushuheng';在传送 查询时 参数是 gushuheng\0!! 而用 char(20) 定义时 里面是
gushuheng\0\0\0\0\0\0\0\0\0\0\0 !!! 也就是说系统把它初始化为 0 然后在填入gushuheng!! 而 varchar(20) 定义时则没有初始化为0这一点,然后系统是 填入 gushuheng\0 !!! 两者的系统占用 都是 20 个字节!!!!
请教各位大哥! 有人回答 给分啊!!
UserName:='gushuheng';
SpaceString:='20个空格';
ADOQuery.Close;
ADOQuery.sql.Text:='select * from user_info where user_name=:user_name');
ADOQuery.parameters.ParamByName('user_name').Values:=UserName+Copy(SpaceString,1,20-Length(UserName));
ADOQuery.Prepares;
ADOQuery.Open;