处学者遇到的问题,
已有打开的与此连接相关联的 DataReader,必须首先将它关闭。
代码入下
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Web.Mail;
namespace zhousunet
{
public class zhuce : System.Web.UI.Page
{
protected ArrayList Ayear;
protected ArrayList Amonth;
protected ArrayList Adate;
string StrConn;
string StrSql;
SqlConnection MyConn;
SqlCommand MyComm;//数据库操作的变量
SqlDataReader dr;
protected System.Web.UI.WebControls.Label errormessage;
protected System.Web.UI.WebControls.RequiredFieldValidator rfv01;
protected System.Web.UI.WebControls.RequiredFieldValidator rfv02;
protected System.Web.UI.WebControls.RequiredFieldValidator rfv03;
protected System.Web.UI.WebControls.CompareValidator cv1;
protected System.Web.UI.WebControls.DropDownList day;
protected System.Web.UI.WebControls.RegularExpressionValidator rev1;
protected System.Web.UI.WebControls.TextBox messages;
protected System.Web.UI.WebControls.Button BtnOK;
protected System.Web.UI.WebControls.TextBox name;
protected System.Web.UI.WebControls.RequiredFieldValidator rfv1;
protected System.Web.UI.WebControls.TextBox password;
protected System.Web.UI.WebControls.RequiredFieldValidator rfv2;
protected System.Web.UI.WebControls.TextBox password2;
protected System.Web.UI.WebControls.RequiredFieldValidator rfv3;
protected System.Web.UI.WebControls.TextBox turename;
protected System.Web.UI.WebControls.RequiredFieldValidator rfv4;
protected System.Web.UI.WebControls.RadioButtonList sex;
protected System.Web.UI.WebControls.TextBox come;
protected System.Web.UI.WebControls.TextBox email;
protected System.Web.UI.WebControls.RegularExpressionValidator rev3;
protected System.Web.UI.WebControls.TextBox oicq;
protected System.Web.UI.WebControls.TextBox mobile;
protected System.Web.UI.WebControls.TextBox tel;
protected System.Web.UI.WebControls.RegularExpressionValidator rev2;
protected System.Web.UI.WebControls.TextBox message;
protected void BtnOK_Click(object sender,System.EventArgs e)
{
StrConn=System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
MyConn=new SqlConnection(StrConn);
MyConn.Open();
StrSql="select name from classmates where name='"+name.Text.ToString()+"'";
MyComm=new SqlCommand(StrSql,MyConn);
dr=MyComm.ExecuteReader();
if(dr.Read())
{
errormessage.Text="该用户名已经被注册,请换一个名字!";
}
else
{
if(Page.IsValid)
{
StrSql="INSERT INTO classmates (name,password,sex,come,tel,mobile,messages,email,oicq)VALUES('"; //他妈的,搞了变天,原来是性别的问题,我靠
StrSql+=name.Text.ToString()+"','"; //这里相当于连加SQL
StrSql+=password.Text.ToString()+"','";
StrSql+=sex.SelectedValue.ToString()+"','"; //why can't use SelectedItem.text ?
StrSql+=come.Text.ToString()+"','";
StrSql+=tel.Text.ToString()+"','";
StrSql+=mobile.Text.ToString()+"','";
StrSql+=messages.Text.ToString()+"','";
StrSql+=email.Text.ToString()+"','";
StrSql+=oicq.Text.ToString()+"')";
//为什么会出错,我日
dr.Close();
MyComm=new SqlCommand(StrSql,MyConn);
MyComm.ExecuteNonQuery();
Page.Response.Write("注册成功");
}
}
}
}
}