为什么我的OleDataReader不能在Html代码中使用?
qiaov 2004-08-27 10:40:18 提示:编译器错误信息: CS0246: 找不到类型或命名空间名称“dr”(是否缺少 using 指令或程序集引用?)
我看不出有什么错误?因为我是按书上的示例改写的。
请各位高手帮忙指点一下,高分相谢。
=============Source Code===============
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace = "System.Data.OleDb" %>
<%@ Import Namespace = "System.Text" %>
<SCRIPT LANGUAGE="C#">
//Open Connection
string strConn = "Provider=Micorsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(".\\AMI.mdb");
OleDbConnection myConn;
myConn = new OleDbConnection(strConn);
myConn.Open();
OleDbCommand myComm;
OleDbDataReader dr; //在这里声明dr,不能在Html代码中使用吗?谢谢指点。
public void Page_Load(Object Sender, EventArgs e)
{
lblMsg.Text = "";
lblMsg.ForeColor = "Blue";
if(!Page.IsPostBack || Request.Form["txtSearch"].ToString().Trim() == "")
{
Response.Write{"Get");
Response.End();
string strSQL = "Select Top 20 * From FAQ Where Replied=1 Order by id";
myComm = new OleDbCommand(strSQL, myConn);
dr = myComm.ExecuteReader();
lblMsg.Text = "当前显示的是数据库中最近更新的前20个FAQ,如果没有你需要的FAQ,请使用查询功能。";
}
else
SearchIt(Request.Form["txtSearch"].ToString().Trim(), Request.Form["ddlLoc"].ToString().Trim());
}
public void SearchIt(string uKeywords, string uSearchType)
{
char[] de = {' '};
string[] xKeys = uKeywords.Split(de);
StringBuilder strSQL = new StringBuilder("Select * From FAQ Where (");
switch(uSearchType)
{
case "Title":
for(int i=0; i <= xKeys.Length - 1; i++)
{
strSQL.Append(" Title = '%" + xKeys[i] + "%'");
if(i < xKeys.Length - 1) strSQL.Append(" OR");
}
break;
case "Content":
for(int i=0; i <= xKeys.Length - 1; i++)
{
strSQL.Append(" Content = '%" + xKeys[i] + "%'");
if(i < xKeys.Length - 1) strSQL.Append(" OR");
}
break;
}
strSQL.Append(" ) And Replied=1 Order by id Desc");
myComm = new OleDbCommand(strSQL, myConn);
dr = myComm.ExecuteReader();
lblMsg.Text = "在数据库中搜索到" + dr.FieldCount + "条相关内容。";
}
</SCRIPT>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>FAQ</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="../../SiteStyle.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.style1 {
color: #006600;
font-size: 55px;
font-weight: bold;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
//-->
</script>
</head>
<body>
<table width="750" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2"><div align="center"><span class="style1">FAQ </span></div></td>
</tr>
<tr>
<td width="636" align="center">
<form name="form1" method="post" action="" runat="server">
查询:
<asp:TextBox ID="txtSearch" ToolTip="请输入您要查询的内容" TextMode="SingleLine" runat="server" />
在
<asp:DropDownList ID="ddlLoc" runat="server">
<asp:ListItem Text="标题" Value="Title"></asp:ListItem>
<asp:ListItem Text="内容" Value="Content"></asp:ListItem>
</asp:DropDownList>
中
<asp:Button ID="btnSubmit" Text="搜索" runat="server" class="qwButton" />
</form> </td>
<td width="106" align="right"><input name="Button3" type="button" class="qwButton" id="Button3" onClick="MM_goToURL('parent','FAQQuestion.aspx');return document.MM_returnValue" value="提问">
<input name="Button4" type="button" class="qwButton" id="Button4" onClick="MM_goToURL('parent','AddFAQ.aspx');return document.MM_returnValue" value="添加"></td>
</tr>
</table>
<asp:Label id="lblMsg" runat="server" />
<%
while(dr.Read()) //<=提示出错的地方 CS0246: 找不到类型或命名空间名称“dr”(是否缺少 using 指令或程序集引用?)
{
%>
<table width="750" border="0" align="center" cellpadding="3" cellspacing="0" bordercolor="#FFFFFF" bordercolordark="#E1F0FD">
<tr>
<td width="30" align="center"><%=dr["id"].ToString()%></td>
<td width="710"><%=dr["Title"].ToString()%></td>
</tr>
<tr>
<td> </td>
<%
if(dr["faqType"].ToString() == "Dynamic")
{
%>
<td><A HREF="<%=dr["Content"].ToString()%>"><%=dr["Content"].ToString()%></A></td>
<%
}
else
{
%>
<td><%=dr["Content"].ToString()%></td>
<%
}
%>
</tr>
<%
if(dr["LinkImage"].ToString() != "")
{
char[] de = {';'};
string[] images = dr["LinkImage"].ToString().Split(de);
for(i=0 ; i<images.Length-1; i++)
{
%>
<tr>
<td width="30" align="center"> </td>
<td width="710"><INPUT TYPE="image" SRC="<%=images[i]%>"></td>
</tr>
<%
}
}
%>
<tr align="center">
<td colspan="2"><div align="right">
<input name="Button2" type="button" class="qwButton" id="Button2" onClick="MM_goToURL('parent','ModifyFAQ.aspx');return document.MM_returnValue" value="修改">
<input name="Button1" type="button" class="qwButton" id="Button1" onClick="MM_goToURL('parent','DeleteFAQ.aspx');return document.MM_returnValue" value="删除">
</div></td>
</tr>
</table>
<%
}
dr.Close();
%>
<br>
</body>
</html>
================================================================================
再次感谢。