当前位置:主页>销售管理软件> 列表

急求Sql语句(Paradox7 D7 Query) 找销售管理软件

进销存软件版1楼: 1、为什么设计期间我在Query1的属性中加了两个Params参数,由Button1事件运行打开数据库,第一次可以运行,第二次就提示没有Params参数,showmessage(inttostr(query1.ParamCount));显示0。这是怎么回事?

ssql:=''select * from maindb where sfrq <> :A0 and sfsj <> :B0'';
query1.Close;
query1.SQL.Clear;
query1.ParamByName(''A0'').AsDate:=DateTimePicker1.Date;
query1.ParamByName(''B0'').AsTime:=DateTimePicker1.Time;
query1.SQL.Add(ssql);
query1.Open;
query1.Active:=true;
50分
2、这样的SQL怎么写?
ssql:=''select * from maindb.db where (jj<>''''接入'''' and ((rq like %''+formatdatetime(''yyyymmdd'',DateTimePicker1.Date)+''% ) or (:A0<=zzrq and :A0>=sfrq)) and (:B0<=sfsj))''+
''or (jj=''''接入'''' and ((rq like %''+''formatdatetime(''''yyyymmdd'''',DateTimePicker1.Date-jjrq1)''+''% ) or ((:A0-jjrq1<=zzrq)and(:A0-jjrq1>=sfrq)))and (:B0<=jjsj))'';

query1.ParamByName(''A0'').AsDate:=DateTimePicker1.Date;


query1.ParamByName(''B0'').AsTime:=DateTimePicker1.Time;

其中jj、 rq、zzrq、sfrq、jjss、jjrq1都是maindb.db的字段,A0是Query1的日期型参数在设计时添加到控件Params属性中、B0同上是时间型的 。我要实现类似(:A0<=zzrq and :A0>=sfrq))(:B0<=jjsj)的日期、时间的比较,和(rq like %''+''formatdatetime(''''yyyymmdd'''',DateTimePicker1.Date-jjrq1)''+''% )的比较 在formatdatetime中实现格式化DateTimePicker1.Date-字段jjrq1的差!!!
怎么才知道Paradox都支持哪些函数?怎么实现上述功能?哪种数据库支持最多最全的函数?
150分急求!!!

2楼: 哪种数据库支持最多最全的函数
access,sql 如免费记账软件

3楼: ssql:=''select * from maindb where sfrq <> :A0 and sfsj <> :B0'';
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(ssql);
query1.ParamByName(''A0'').AsDate:=DateTimePicker1.Date;
query1.ParamByName(''B0'').AsTime:=DateTimePicker1.Time;
query1.Open;
这样试试

4楼: kgm


不行,我试过了。

5楼: 日期要这样  #:参数#

6楼: ssql:=''select * from maindb where sfrq <> #:A0# and sfsj <> #:B0#'';
query1.Close;
query1.SQL.Clear;
query1.SQL.Add(ssql);
query1.ParamByName(''A0'').AsDate:=DateTimePicker1.Date;
query1.ParamByName(''B0'').AsTime:=DateTimePicker1.Time;
query1.Open;

进销存软件版7楼: 又不是Accsess???
我试下

8楼: 不对,用不用#都正确,只是第二次按下Button1提示没有参数A0、B0

9楼: 超级晕[:)]
Params是在给query1.sql赋值时自动分析创建的,你应该先添加sql,再给设置params.

10楼: Paradox我也不熟,呵呵

11楼: 谢谢我是活死人
您是对的,还有在您楼上boy2002cn、kgm的方法和您一样都是对的。
我晕!可我明明把顺序弄对过,可当时还是没通过??!!可能当时
的语句中还有其它错? (范→赵)大哥!我真晕了。

日期型字段和日期型Params参数比较的问题我也弄明白了,我把它贴出来
给我以后的小鸟们提个醒,
ssql:=''select * from maindb.db where jj<>:C0 and zzrq>=:A0 '';
ssql:=''select * from maindb.db where :C0<>jj and zzrq>=:A0 '';
字段名在前参数在后的顺序不能变。(我正好用的第二条,错了,第一条对。)

ssql:=''select * from maindb.db where jj<>:C0 and zzrq>=:A0 '';
ssql:=''select * from maindb.db where jj<>:C0 and zzrq=>:A0 '';
>=不能写为=> (这个错误我没犯,也贴上吧。这是Paradox数据库帮
助里规定的。它支持的内函数真少啊,就有
SUM(), for totaling all numeric values in a column
AVG(), for averaging all non-NULL numeric values in a column
MIN(), for determining the minimum value in a column
MAX(), for determining the maximum value in a column
COUNT(), for counting the number of values in a column that match specified criteria
COUNT(*), for counting non-NULL numeric values in a column

UPPER(), to force a string to uppercase
LOWER(), to force a string to lowercase
TRIM(), to remove repetitions of a specified character from the left, right, or both sides of a string
SUBSTRING() to create a substring from a string

EXTRACT (extract_field FROM field_name)
这几个)

最后的问题:第二条后面提出的可算是个超级难题了吧?
(rq like %''+''formatdatetime(''''yyyymmdd'''',DateTimePicker1.Date-jjrq1)''+''% )的比较,就是在formatdatetime中实现格式化(DateTimePicker1.Date-字段jjrq1)的差!!!

大富翁们快来帮忙!

12楼: 帮顶!

http://www.source520.com

站长开发推广同盟 站长朋友的终极驿站
同时拥有海量源码电子经典书籍下载

http://www.source520.com/search/search.asp

"编程.站长"论坛搜索引擎-----为中国站长注入动力! 如销售管理软件

13楼: 标准答案:我已经试验通过!
ssql:=''select * from maindb.db where (jj<>''''接入'''' and ((rq like ''''

%''+formatdatetime(''yyyymmdd'',DateTimePicker1.Date)+''% '''') or (:A0<=zzrq and

:A0>=sfrq)) and (:B0<=sfsj)) or (jj=''''接入'''' and ((rq like ''''

% Cast(''+DatetimeToStr(DateTimePicker1.Date)+''-jjrq1) as varchar(20))% '''') or

((:A0-jjrq1<=zzrq)and(:A0-jjrq1>=sfrq)))and (:B0<=jjsj))'';

其中cast和convert都是SQL Server中有的类型转换函数,varchar也是SQL Server中的变长字符串数据类型

进销存软件版14楼: 谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!
谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!

15楼: 多人接受答案了。