我输入 dim cmd as new oledbcommand("select * from kaikejihua where 专业名称='电子商务'",co)可以正确显示可改成变量输入如下,无法正确查询
dim cmd as new oledbcommand("select * from kaikejihua where 专业名称='dd2.selecteditem.value'",co)
以下是代码部分,请各位指教一二谢谢
<%@ Page Language="vb" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server"> Sub chouse_xi(sender As Object, e As EventArgs)
dim chouse() as string={""}
dim zhuanye1() as string={"请选择...","会计学","统计学"}
dim zhuanye2() as string={"请选择...","计算机信息管理","电子商务","计算机科学与技术"}
if dd1.selecteditem.value="会计" then
dd2.datasource=zhuanye1
dd2.databind
else if dd1.selecteditem.value="信息科学技术"
dd2.datasource=zhuanye2
dd2.databind
else if dd1.selecteditem.value="请选择"
dd2.datasource=chouse
dd2.databind
end if End Sub
Sub chouse_zhuanye(sender As Object, e As EventArgs)
dim sqlstr as string
Dim co As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("jwch.mdb"))
'sqlstr="select * from kaikejihua where 专业名称='" & dd2.selecteditem.Text & "'
'sqlstr="select * from kaikejihua where 专业名称='dd2.selecteditem.value'"
dim cmd as new oledbcommand("select * from kaikejihua where 专业名称='dd2.selecteditem.value'",co)
err.text=dd2.selecteditem.value
'dim cmd as new oledbcommand(sqlstr,co)
co.open()
dim dr as oledbdatareader=cmd.executereader()
message.text="<table width='90%' border='1'><tr bgcolor='#ff00f0'><td>系别</td><td>专业名称</td><td>课程名称</td><td>课型</td><td>总学时</td><td>学分</td><td>学期</td></tr>"
Do While dr.Read()
message.Text &= "<tr>"
message.Text &= "<td>" & dr.Item("系别") & "</td>"
message.Text &= "<td>" & dr.Item("专业名称") & "</td>"
message.Text &= "<td>" & dr.Item("课程名称") & "</td>"
message.Text &= "<td>" & dr.Item("课型") & "</td>"
message.Text &= "<td>" & dr.Item("总学时") & "</td>"
message.Text &= "<td>" & dr.Item("学分") & "</td>"
message.Text &= "<td>" & dr.Item("学期") & "</td>"
message.Text &= "</tr>"
Loop
message.text &= "</table>"
'co.Close()
End Sub</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p align="center">
<asp:Label id="Label1" runat="server">系别:</asp:Label>
<asp:DropDownList id="dd1" runat="server" AutoPostBack="True" onselectedindexchanged="chouse_xi">
<asp:ListItem Value="请选择">请选择...</asp:ListItem>
<asp:ListItem Value="会计">会计</asp:ListItem>
<asp:ListItem Value="信息科学技术">信息科学技术</asp:ListItem>
</asp:DropDownList>
</p>
<p align="center">
<asp:Label id="Label2" runat="server">专业名称:</asp:Label>
<asp:DropDownList id="dd2" runat="server" AutoPostBack="True" onselectedindexchanged="chouse_zhuanye"></asp:DropDownList>
</p>
<center><asp:Label id="message" runat="server"></asp:Label>
</center>
<center> <asp:Label id="err" runat="server">Label</asp:Label>
</center>
</form>
</body>
</html>
dim cmd as new oledbcommand("select * from kaikejihua where 专业名称='dd2.selecteditem.value'",co)
以下是代码部分,请各位指教一二谢谢
<%@ Page Language="vb" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server"> Sub chouse_xi(sender As Object, e As EventArgs)
dim chouse() as string={""}
dim zhuanye1() as string={"请选择...","会计学","统计学"}
dim zhuanye2() as string={"请选择...","计算机信息管理","电子商务","计算机科学与技术"}
if dd1.selecteditem.value="会计" then
dd2.datasource=zhuanye1
dd2.databind
else if dd1.selecteditem.value="信息科学技术"
dd2.datasource=zhuanye2
dd2.databind
else if dd1.selecteditem.value="请选择"
dd2.datasource=chouse
dd2.databind
end if End Sub
Sub chouse_zhuanye(sender As Object, e As EventArgs)
dim sqlstr as string
Dim co As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("jwch.mdb"))
'sqlstr="select * from kaikejihua where 专业名称='" & dd2.selecteditem.Text & "'
'sqlstr="select * from kaikejihua where 专业名称='dd2.selecteditem.value'"
dim cmd as new oledbcommand("select * from kaikejihua where 专业名称='dd2.selecteditem.value'",co)
err.text=dd2.selecteditem.value
'dim cmd as new oledbcommand(sqlstr,co)
co.open()
dim dr as oledbdatareader=cmd.executereader()
message.text="<table width='90%' border='1'><tr bgcolor='#ff00f0'><td>系别</td><td>专业名称</td><td>课程名称</td><td>课型</td><td>总学时</td><td>学分</td><td>学期</td></tr>"
Do While dr.Read()
message.Text &= "<tr>"
message.Text &= "<td>" & dr.Item("系别") & "</td>"
message.Text &= "<td>" & dr.Item("专业名称") & "</td>"
message.Text &= "<td>" & dr.Item("课程名称") & "</td>"
message.Text &= "<td>" & dr.Item("课型") & "</td>"
message.Text &= "<td>" & dr.Item("总学时") & "</td>"
message.Text &= "<td>" & dr.Item("学分") & "</td>"
message.Text &= "<td>" & dr.Item("学期") & "</td>"
message.Text &= "</tr>"
Loop
message.text &= "</table>"
'co.Close()
End Sub</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p align="center">
<asp:Label id="Label1" runat="server">系别:</asp:Label>
<asp:DropDownList id="dd1" runat="server" AutoPostBack="True" onselectedindexchanged="chouse_xi">
<asp:ListItem Value="请选择">请选择...</asp:ListItem>
<asp:ListItem Value="会计">会计</asp:ListItem>
<asp:ListItem Value="信息科学技术">信息科学技术</asp:ListItem>
</asp:DropDownList>
</p>
<p align="center">
<asp:Label id="Label2" runat="server">专业名称:</asp:Label>
<asp:DropDownList id="dd2" runat="server" AutoPostBack="True" onselectedindexchanged="chouse_zhuanye"></asp:DropDownList>
</p>
<center><asp:Label id="message" runat="server"></asp:Label>
</center>
<center> <asp:Label id="err" runat="server">Label</asp:Label>
</center>
</form>
</body>
</html>
改为:
"select * from kaikejihua where 专业名称 = '" + dd2.selecteditem.value "'"
试试.
应该是
dim cmd as new oledbcommand("select * from kaikejihua where 专业名称='" & dd2.selecteditem.value & "'",co)