三个关于 ASP 的小问题,asp高手请进(50分)

老Q

Unregistered / Unconfirmed
GUEST, unregistred user!
1.日期合并:
year=trim(Request.Form("comboboxYear"))
month=trim(Request.Form("comboboxMonth"))
现要将year,month,1日,如2002,05,01合并成一个日期型变量,如何做?
我查了资料是:datebegin
=dateserial(year,month,1),可是调试程序总有错误?
应如何做?
2.日期拆成 year , month,day,如何做?
2.如何构造 SQL 语句:
使用 access 数据库:
sql1="select sum(salary) from rensi where sex='男' and riqi>='datebegin
' and riqi<='dateEnd' "
总是显示错误,sql该如何写?
 
这些都是小问题
参考一下vbscript就行了,
上面三个问题实际是你不太熟悉asp+sql才产生的,
你可以这样写
sql1="select sum(salary) from rensi where sex='男' and riqi>='"&amp;trim(Request.Form("comboboxYear"))&amp;'-'&amp;trim(Request.Form("comboboxMonth"))&amp;'-'&amp;date
看明白了吗,
实际就是组合给sqlserver的查询字符串
和类型转换无关
 
dhl2001大侠:
sql语句还是有问题:我改了好几遍还是不行:是否应这样写:
sql="select sum(salary) from rensi where sex='男'and riqi>="&amp;trim(Request.Form("comboboxYear"))&amp;'-'&amp;trim(Request.Form("comboboxMonth"))&amp;'-'&amp;07
 
这样写为什么不对:
session("year")=Trim(Request.Form("comboboxyear"))
session("month")=Trim(Request.Form("comboboxmonth"))
session("date1")=1
session("date2")=31

sql1="select sum(salary) from rensi where sex='男'"
sql1=sql1&amp;'and riqi>="&amp;session("year")&amp;session("month")&amp;session("date1")"'
sql1=sql1&amp;'and riqi<="&amp;session("year")&amp;session("month")&amp;session("date2")"'
 
这里到底有没有asp高手哇,快帮帮我
 
sql1="select sum(salary) from rensi where sex='男'"
sql1=sql1&amp;'and riqi>="&amp;session("year")&amp;session("month")&amp;session("date1")"'
sql1=sql1&amp;'and riqi<="&amp;session("year")&amp;session("month")&amp;session("date2")"'
实际上
要传给sql server这样一个串
select sum(salary) from rensi where sex='男' and riqi>='1999-12-12' and riqi<='2000-12-12'
要加'-'
还有
先把要传入的sql语句在sqlserver上测试一下
然后再组合成这个sql语句,
不是没有高手,
是你这个问题实在没什么可回答的
 
dhl2001大侠:
我用的是access数据庫
 
老Q:
我是ASP编程的看看我的行不行:
'建议你不要用year,month作为变量,因为year和month都是函数
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.日期合并:
year=trim(Request.Form("comboboxYear"))
month=trim(Request.Form("comboboxMonth"))
现要将year,month,1日,如2002,05,01合并成一个日期型变量,如何做?
我查了资料是:datebegin
=dateserial(year,month,1),可是调试程序总有错误?
应如何做?
解:
Tmpyear=trim(Request.Form("ComboBoxYear"))
TmpMonth=trim(Request.Form("comboBoxMonth"))
Datebegin
=CDate(Tmpyear &amp;
"-" &amp;
TmpMonth)
'得出来的结果Datebegin
为当年当月的第一天如果Tmpyear="2002",Tmpmonth="5"得到的Datebegin
为2002-5-1
2.日期拆成 year , month,day,如何做?
解:
TmpYear=year(now)
TmpMonth=month(now)
TmpDay=Day(now)
3.如何构造 SQL 语句:
使用 access 数据库:
sql1="select sum(salary) from rensi where sex='男' and riqi>='datebegin
' and riqi<='dateEnd' "
总是显示错误,sql该如何写?
解:
SQL1="Select Sum(salary) from rensi where sex='男' and riqi between #" &amp;
Datebegin
&amp;
"# and #" &amp;
DateEnd &amp;
"#"
'Datebegin
与DateEnd应为日期型,在Access下数据库与SQLServer下不同,如果是运行在SQL Server 上则应为
SQL1="Select Sum(salary) from rensi where sex='男' and riqi between '" &amp;
Datebegin
&amp;
"' and '" &amp;
DateEnd &amp;
"'"
 
你若有情大侠:
"建议你不要用year,month作为变量,因为year和month都是函数",说得对,我已经发现这
个问题,已经改正
Datebegin
=CDate(Tmpyear &amp;
"-" &amp;
TmpMonth)是一个月的开始,可是一个月的结束该如何写,
否则不能用between写sql语句.
 
下个月的开始减去一天不就是了吗?
 
Datebegin
=CDate(Tmpyear &amp;
"-" &amp;
TmpMonth)
显示该行出错,是不是CDate函数也有问题?
 
1.
一个月的开始:
Datebegin
= DateSerial(CInt(TmpYear), CInt(TmpMonth), 1)
里面应该传入整型参数,而不是字符串型
一个月的结束:
DateEnd = DateSerial(CInt(TmpYear), CInt(TmpMonth + 1), 1) - 1
等于下个月的开始减 1
2.
拆分:
MyDay = Day(Datebegin
)
MyMonth = Month(Datebegin
)
MyYear = Year(Datebegin
)
3.
sql1="select sum(salary) from rensi where sex='男' and riqi between datebegin
and dateEnd"
你的 riqi 应该是日期型的吧,不是字符串型,就不要加引号
 
我有点怀疑到底有没有DateSerial函数,为什么总是显示
Datebegin
= DateSerial(CInt(TmpYear), CInt(TmpMonth), 1)
有错误?谁能证实一下
 
有这个函数
只是我怀疑TmpYear、TmpMonth有值吗?你把它输出来看看是不是你预期的
说不定你认为他是年月,可是输出一看……是空的
--------------
你的数据是post还是get方式提交的啊
 
PiPi大侠也来了,久仰大名!
问题是这样:
页面上有两个下拉列表框,一个表示年份,name=comboboxYear,一个表示月份,
name=comboboxMonth,选择适当的年份和月份后,希望得到当月的统计报表,
这个月的始终是当月的1日至31日,当然,当月是31天还是28天用另外的选择
语句进行判断,这就需要一个介于月初和月末的 SQL 语句,这个SQL 语句
应该怎么写?
 
刚才测试了一下,TmpYear、TmpMonth有值是肯定的,而且正确无误,另外数据是post方法
提交的.
 
你干脆把相关代码贴出来!
 
sql = "select …… where year(riqi)=" &amp;
TmpYear &amp;
" and month(riqi)=" &amp;
TmpMonth
 
问题已解决,谢谢各位大侠!!!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
706
import
I
I
回复
0
查看
525
import
I
顶部