注册 登录
编程论坛 ASP技术论坛

數據庫計算

akxiang 发布于 2007-08-16 14:44, 1911 次点击
請問:
如何對access中的數據,進行計算。並將計算結果,作出判斷。如果高出某值,就將該值以紅色來顯示。
例:
當讀到access中一個數據為93時,(判斷標准為高迂90,該值以紅色顯示,其他的綠色顯示) 。結果就顯示一個紅色的93

請幫忙!!!!!
53 回复
#2
qhscqb2007-08-16 14:49

不太明白,说清楚点好吗?

#3
akxiang2007-08-16 14:53

就是說,網頁打開的時候,會自動去讀access中的數據,然後對讀出來的數據進行判斷。通過判斷顯示不同的結果。

#4
ayue2222007-08-16 14:58
<%
aa=rs("aa")
if cint(aa)>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
%>
#5
akxiang2007-08-16 15:28
先試一下去。
#6
akxiang2007-08-16 15:33
報了錯,如下:

錯誤類型:
Microsoft VBScript 執行階段錯誤 (0x800A000D)
型態不符合: 'cint'
/seeboard/33.asp, line 21

???
#7
akxiang2007-08-16 15:37
是不是要我安裝什麼軟件呢?
#8
qhscqb2007-08-16 15:41
以下是引用ayue222在2007-8-16 14:58:24的发言:
<%
aa=rs("aa")
if cint(aa)>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
%>

<%
aa=rs("aa")
if cint(trim(aa))>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
%>

#9
qhscqb2007-08-16 15:44
你的rs指向的字段类型是什么?
#10
ayue2222007-08-16 15:46

我是随便举的一个例子 ......我也不知道LZ说的数据库值是啥 ....

#11
akxiang2007-08-16 15:47
我的是字符的
#12
ayue2222007-08-16 15:50
不是数字 ??
那怎么比较 ??
如果仅仅是数据库中字段是字符类型而值是数字类型的话可以用cInt(rs("aa"))这样来转化为数字类型...
#13
akxiang2007-08-16 15:55
對呀,數據庫裡的是字符类型但,值是數字嘛。
#14
qhscqb2007-08-16 15:57

老兄,字符和数字怎么能比较,这又不是C

#15
ayue2222007-08-16 15:59
用cInt(rs("aa"))可以转换,但最好还是改成int类型吧 ..
#16
akxiang2007-08-16 15:59
不好意思。現在我把它改成數字了。
但顯示不出來呢????
#17
qhscqb2007-08-16 16:01

顶!内容为数字的字段就应该用数字型字段

#18
akxiang2007-08-16 16:02
那請問如果是字符的,是不是用以下就可以了呢???

<%
aa=rs("aa")
if int(aa)>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
%>
#19
qhscqb2007-08-16 16:03
你数据库的该字段中有什么数据,贴出来看一看!
#20
qhscqb2007-08-16 16:05
ASP学多久了?
#21
akxiang2007-08-16 16:05
現在改為“數字”了。我的數據庫在另一臺server上面,不好帖。
#22
akxiang2007-08-16 16:07
然後是一個百分比的數。就是這樣子的。
#23
qhscqb2007-08-16 16:07
回复:(akxiang)那請問如果是字符的,是不是用以下就...
cint(rs("aa"))
#24
akxiang2007-08-16 16:14

對,我用:“cint(rs("aa"))”如下:

<%
aa=rs("a")
if cint(rs("a"))>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
end if
%>

沒有報錯,但沒有顯示出結果來呢?

#25
ayue2222007-08-16 16:17
<%
dim aa,str
aa=rs("a")
if cint(aa)>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
end if
%>
#26
qhscqb2007-08-16 16:20
看看能不能用TRIM函数将两边的空格取掉
#27
akxiang2007-08-16 16:22

我的源代碼如下:
<%set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("ce.mdb")
%>
<%
exec="select * from ce order by id=61 "
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>


<%
dim aa,str
aa=rs("a")
if cint(aa)>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
end if
%>

這樣都沒有報錯了,可是就是沒有顯示出來呀。網頁打開後是空的呀。

#28
qhscqb2007-08-16 16:23
什么都没有显示吗?你将代码改成以下试试。、
<%
dim aa,str
aa=rs("a")
if cint(aa)>90 then
str="<font color=#ff0000>大于90</font>"
else
str="<font color=#00ff00>小于90</font>"
response.write str
end if
%>
#29
qhscqb2007-08-16 16:26
以下是引用akxiang在2007-8-16 16:22:02的发言:

我的源代碼如下:
<%set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("ce.mdb")
%>
<%
exec="select * from ce order by id=61 "
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>


<%
dim aa,str
aa=rs("a")
if cint(aa)>90 then
str="<font color=#ff0000>"&aa&"</font>"
else
str="<font color=#00ff00>"&aa&"</font>"
response.write str
end if
%>

這樣都沒有報錯了,可是就是沒有顯示出來呀。網頁打開後是空的呀。

那是什么?好象是order by id desc吧!

#30
akxiang2007-08-16 16:27
我改了,但效果一樣呀,沒有顯示出來。會不會同我的系統有關呢? 還是什麼的。

我才學的ASP。
#31
akxiang2007-08-16 16:30
order by id=61 這個是我指定,輸出哪一字段的哪一行呀,這個不對嗎?還是怎麼了。
#32
qhscqb2007-08-16 16:31
exec="select * from ce order by id=61 "
数据库中也是不是也有这样一个表ce?
#33
ayue2222007-08-16 16:31
exec="select * from ce where id=61 order by id desc "
#34
qhscqb2007-08-16 16:33
回复:(akxiang)order by id=61 這個是我指定,輸出...

有问题,应该是 select * from ce where id=61

#35
akxiang2007-08-16 16:33
有這個表呀,有很多行,我不作判斷都可以顯示出來的。
#36
akxiang2007-08-16 16:34
換成where效果一樣呀。
#37
akxiang2007-08-16 16:36

這樣子對吧:

<%set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("ce.mdb")
%>
<%
exec="select * from ce where id=61 "
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
%>


<%
dim aa,str
aa=rs("a")
if cint(aa)>90 then
str="<font color=#ff0000>大于90</font>"
else
str="<font color=#00ff00>小于90</font>"
response.write str
end if
%>

#38
akxiang2007-08-16 16:39
兩位高手的方法我都試過了,但目前都顯示不出來。什麼都沒有呢?
#39
ayue2222007-08-16 16:39

对 ,然后可以调用 显示 aa 了

#40
akxiang2007-08-16 16:40
還是沒有顯呀
#41
akxiang2007-08-16 16:43
謝謝啦!
我知道為什麼了。
因為少了一行代碼要它輸出。謝謝兩位啦!!!!
#42
ayue2222007-08-16 16:44
如果数据库字段是varchar类型用 exec="select * from ce where id='61' "
int类型 用 exec="select * from ce where id=61 "

#43
qhscqb2007-08-16 16:45

你用我的代码:
<%set conn=server.createobject("adodb.connection")
conn.open "povider=microsoft.jet.oledb.4.0;data source="&server.mappath("ce.mdb")
exec="select * from ce where id=61 order by desc"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
dim aa,str
aa=rs("a")
if cint(aa)>=90 then
str="<font color=#ff0000>90以上</font>"
else
str="<font color=#00ff00>小于90</font>"
response.write str
end if
%>

#44
qhscqb2007-08-16 16:47
你用我的代码:
<%set conn=server.createobject("adodb.connection")
conn.open "povider=microsoft.jet.oledb.4.0;data source="&server.mappath("ce.mdb")
exec="select * from ce where id=61 order by desc"
set rs=server.createobject("adodb.recordset")
rs.open exec,conn,1,1
dim aa,str
aa=rs("a")
if cint(aa)>=90 then
str="<font color=#ff0000>90以上</font>"
response.write str
else
str="<font color=#00ff00>小于90</font>"
response.write str
end if
%>
#45
akxiang2007-08-16 16:49

對就是少了response.write str 這一行。

太感謝了。

#46
ayue2222007-08-16 16:50
冷汗 ...是我的代码写错哒 ...
应该是 ..
if cint(aa)>=90 then
str="<font color=#ff0000>90以上</font>"
else
str="<font color=#00ff00>小于90</font>"
end if

response.write str

向全国人民致歉 ~~...
#47
akxiang2007-08-16 16:53
不過,我現在還有個問題請教一下兩們高手。
就是我想把str這個變量,用在 <input type=text value= size="4" ></td>這個裡面不知道可不可以呢????
#48
qhscqb2007-08-16 16:53

SORRY(版权所有!),但我也会写。

#49
akxiang2007-08-16 16:54
總的來說,是兩位幫了小我,在下感激不盡啦!
#50
ayue2222007-08-16 16:55
当然可以 .....
<input type=text value="<%=aa%>" size="4" >
#51
akxiang2007-08-16 16:57
哦,嘿嘿!!!!搞定啦!
12