主题:一段代码,麻烦各位大虾帮小弟看看。
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<script runat="Server">
void Search(Object sender,EventArgs e)
{
SqlConnection Conn=new SqlConnection();
Conn.ConnectionString="server=(local);database=Library;uid=sa;pwd='123456'";
SqlCommand Comm=new SqlCommand("select count(*) from borrow where ReaderID="+ReaderID.Text+"",Conn);
Conn.Open();
int i=Convert.ToInt32(Comm.ExecuteScalar());
if(i>=3){
dg.DataSource=Comm.ExecuteReader();
dg.DataBind();
}
Connn.Close();
</script>
<form name="my form" runat="Server">
<asp:TextBox id="ReaderID" size="20" runat="Server"/>
<asp:DataGrid id="dg" runat="Server"/>
</form>
很简单的一段程序,就是在文本框输入一个读者id,然后程序在数据库根据这个id查询,如果这个读者的记录超过三个就显示出来!可是编译器报错。错误貌似是"where ReaderID="+ReaderID.Text+""因为我交互式的输入而改用静态定义就能运行,譬如"where ReaderID=10000"。我想请教各位大虾原因是什么?怎么解决这个问题?
谢谢咯^_^
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.SqlClient"%>
<script runat="Server">
void Search(Object sender,EventArgs e)
{
SqlConnection Conn=new SqlConnection();
Conn.ConnectionString="server=(local);database=Library;uid=sa;pwd='123456'";
SqlCommand Comm=new SqlCommand("select count(*) from borrow where ReaderID="+ReaderID.Text+"",Conn);
Conn.Open();
int i=Convert.ToInt32(Comm.ExecuteScalar());
if(i>=3){
dg.DataSource=Comm.ExecuteReader();
dg.DataBind();
}
Connn.Close();
</script>
<form name="my form" runat="Server">
<asp:TextBox id="ReaderID" size="20" runat="Server"/>
<asp:DataGrid id="dg" runat="Server"/>
</form>
很简单的一段程序,就是在文本框输入一个读者id,然后程序在数据库根据这个id查询,如果这个读者的记录超过三个就显示出来!可是编译器报错。错误貌似是"where ReaderID="+ReaderID.Text+""因为我交互式的输入而改用静态定义就能运行,譬如"where ReaderID=10000"。我想请教各位大虾原因是什么?怎么解决这个问题?
谢谢咯^_^