自定义函数,变量判断后从不同的数据表中读取数据的问题

pic_name 2005-11-16 10:39:26
我是这样写的,程序上下部分略了,定义函数Public Function menu(cid),但是问题是出现了,如果我cid为2时,读不出table_sort中的title,后来我改用关联的方法,
Set TaleRs=Conn.Execute("Select C.title,S.title from table_basic C inner join table_sort S On S.class_id=C.class_id where S.class_id="&SID&"")
也不行哦。
朋友不知道有没有解决的方法啊??
……
If cid=1 Then
sqlTalers="Select title from table_basic"
Elseif cid=2 Then
sqlTalers="Select title from table_sort"
End if
sqlTalers=sqlTalers &" where class_id="&SID&""
Set TaleRs= conn.execute(sqlTalers)
If Not TaleRs.Eof Then
……
...全文
99 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pic_name 2005-11-19
  • 打赏
  • 举报
回复
Trim 这个也不行。可能sql不能这么写吧。
pic_name 2005-11-16
  • 打赏
  • 举报
回复
Set TaleRs=Conn.Execute("Select C.title,S.title from table_basic C inner join table_sort S On S.class_id=C.class_id where S.class_id="&SID&"")
用这样的关联法,也只能读出一个表,呵呵,受不了,以前没有做过这样的,不知道有没有谁做过类似的,借用下。
pic_name 2005-11-16
  • 打赏
  • 举报
回复
我试了,一样只取到table_basic中的title
king_shadow 2005-11-16
  • 打赏
  • 举报
回复
If cint(cid)=1 Then //加个强制转换试试
sqlTalers="Select title from table_basic"
Elseif cint(cid)=2 Then
sqlTalers="Select title from table_sort"
end If
pic_name 2005-11-16
  • 打赏
  • 举报
回复
函数定义在Templates类中
pic_name 2005-11-16
  • 打赏
  • 举报
回复
程序没有报错误
SQL的语法和Function应该没有问题
表也没有。
想要的结果就是从不同的表中读出title,调用是:<%=Templates.menu(0,1)%>
pic_name 2005-11-16
  • 打赏
  • 举报
回复
<%
Public Function menu(sid,cid)
Dim ActionName,str,sqlTalers,Talers
Select Case sid
Case 0
ActionName="企业介绍"
str="intro"
Case 1
ActionName="市场开拓"
str="Sale"
Case 2
ActionName="产品展示"
str="products"
Case 3
ActionName="新闻动态"
str="news"
Case 4
ActionName="资讯中心"
str="info"
End Select
menu="<font color=#FF9900>"&ActionName&" </font>:: "
'Set TaleRs=Conn.Execute("Select C.title,S.title from table_basic C inner join table_sort S On S.class_id=C.class_id where S.class_id="&SID&"")
If cid=1 Then
sqlTalers="Select title from table_basic"
Elseif cid=2 Then
sqlTalers="Select title from table_sort"
end If
sqlTalers=sqlTalers &" where class_id="&SID&""
Set TaleRs= conn.execute(sqlTalers)
If Not TaleRs.Eof Then
j=0
Do While Not Talers.Eof
If cid=1 Then
menu=menu&"<a href=intro.asp?action="&str&"&operate="&j&">"&TaleRs("title")&"</a> | "
Elseif cid=2 Then
menu=menu&"<a href=info.asp?action="&str&"&operate="&j&">"&TaleRs("title")&"</a> | "
End if
Talers.MoveNext
j=j+1
Loop
End If
End Function
%>
这样子,应该可以清楚点吧。
  • 打赏
  • 举报
回复
应该没问题
diyager 2005-11-16
  • 打赏
  • 举报
回复
是啊都莫名其妙
无爱大叔 2005-11-16
  • 打赏
  • 举报
回复
楼主的言语描写混乱,让我无从下手。
Function在这里的作用是什么?
你的程序报什么错误?
你的程序是SQL的语法有问题还是Function有问题?
表结构?
你要什么样的结果,你这段程序做什么的?
无爱大叔 2005-11-16
  • 打赏
  • 举报
回复
在查询分析器里面可以正常执行吗?
加个If Trim(cid)=1 Then
...看看

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧