数据库是用ACCESS,表:员工表;有字段:序号(数字-整型),姓名(文本),标识(文本)
我想查询大于Edit2里面值,而小于Edit3里面值
ADOQuery1.Close;
ADOQuery1.SQL.Clear; if edit2.Text<>'' then
sqlstr:=sqlstr+'and 序号>'+#39+Trim(Edit2.Text)+#39; if edit3.Text<>'' then
sqlstr:=sqlstr+'and 序号<'+#39+Trim(Edit3.Text)+#39; ADOQuery1.SQL.Add(' select * from 员工表 where 标识=''0''' +sqlstr); ADOQuery1.Open;为什么运行显示标准表达式中数据类型不匹配 呢,请高手指点
我想查询大于Edit2里面值,而小于Edit3里面值
ADOQuery1.Close;
ADOQuery1.SQL.Clear; if edit2.Text<>'' then
sqlstr:=sqlstr+'and 序号>'+#39+Trim(Edit2.Text)+#39; if edit3.Text<>'' then
sqlstr:=sqlstr+'and 序号<'+#39+Trim(Edit3.Text)+#39; ADOQuery1.SQL.Add(' select * from 员工表 where 标识=''0''' +sqlstr); ADOQuery1.Open;为什么运行显示标准表达式中数据类型不匹配 呢,请高手指点
解决方案 »
- TreeView做菜单相关问题
- 求一个DCU!谢谢!
- 请问如何知道MDI主窗口中是否还有其它子窗口
- 求使用TThread产生多进程的最简单例子
- 关于在ListBox中列出所有进程的问题?请各位大哥帮忙回一下!!!谢谢。
- 用QRCompositeReport合并报表的问题 急 在线给分!!!!!!!!!!!!!!
- 用dataset.refresh刷新一个更新后的数据集,为何出错?
- 怎么让自己的程序能够生成可执行文件(.exe)呢?
- 还想问一下SQL脚本中GO语句是什么意思啊?
- 各位高手,请问如何在DELPHI程序中加入GIF图象(动态的)?
- 写好程序了,编译成EXE,怎样放到客户机上?
- 为窗体TForm1增加了属性,但是object inspector中显示不出来
ShowMessage(AdoQuery1.SQL.Text);
看一下就明白了.
sqlstr:=sqlstr+'and 序号>'+Trim(Edit2.Text); if edit3.Text<>'' then
sqlstr:=sqlstr+'and 序号<'+Trim(Edit3.Text);
原来问题出在那几个多余的单引号上面:
str:='select * from tablename where a='+''''+edit1.Text+'''';
在SQL Server中可以,好像是因为SQL Server能够把引号中的edit1.text识别为double型,而Access则对格式要求很严,加引号表示字符型,不加引号才能表示double型!所以把上面的语句改成:
str:='select * from tablename where a='+edit1.Text;
就行了。
原来问题出在那几个多余的单引号上面:
str:='select * from tablename where a='+''''+edit1.Text+'''';
在SQL Server中可以,好像是因为SQL Server能够把引号中的edit1.text识别为double型,而Access则对格式要求很严,加引号表示字符型,不加引号才能表示double型!所以把上面的语句改成:
str:='select * from tablename where a='+edit1.Text;
就行了。