源代码如下:
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.OracleClient;
using System.Drawing;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sConfirmCode;
this.Title = "欢迎光临XXXXXXX中心";
if (!IsPostBack)
{
if (Session["UserID"] == null)
{
LabelWelcome.Text = "欢迎光临,请先登陆";
} //增加了创建验证码得代码 2007-3-1 congcong
sConfirmCode = GetConfirmCode(5);
Session["ConfirmCode"] = sConfirmCode;
Image1.ImageUrl = "ImageConfirmCode.aspx";
// 增加代码结束 2007-3-1 congcong
}
}
protected void ButtonLogin_Click(object sender, EventArgs e)
{
string sUserID, sPassword, sUserName, sUserLvl, sCompany; //增加了对于验证码得判断 2007-3-1 congcong
string sConfirmCode,sSessionConfirmCode;
sConfirmCode = TextBoxConfirmCode.Text;
sSessionConfirmCode = Session["ConfirmCode"].ToString();
if (sConfirmCode != sSessionConfirmCode)
{
Response.Redirect("错误报告.aspx?ErrorCode=验证码输入错误!请返回,重新输入");
} // 增加代码结束 2007-3-1 congcong sUserID = TextBoxUserID.Text;
sPassword = TextBoxUserPassword.Text; LabelWelcome.Text = sUserID;
string sConnectionString, sSelectCommand; sConnectionString = ConfigurationManager.ConnectionStrings["OraConnectionString"].ConnectionString;
OracleConnection MyConnection = new System.Data.OracleClient.OracleConnection(sConnectionString); sSelectCommand = "scott.P_CHECK_USER_PASSWORD";
OracleCommand MyCommand = new OracleCommand();
MyCommand.Connection = MyConnection;
MyCommand.CommandText = sSelectCommand;
MyCommand.CommandType = CommandType.StoredProcedure; MyCommand.Parameters.Add("vUserID", OracleType.VarChar).Value = sUserID;
MyCommand.Parameters.Add("vUserPassword", OracleType.VarChar).Value = sPassword;
MyCommand.Parameters.Add("vUserlvl", OracleType.VarChar, 1).Direction = ParameterDirection.Output;
MyCommand.Parameters.Add("CountUser", OracleType.Number).Direction = ParameterDirection.Output;
MyCommand.Parameters.Add("vUserName", OracleType.VarChar, 20).Direction = ParameterDirection.Output;
MyCommand.Parameters.Add("vCompany", OracleType.VarChar, 20).Direction = ParameterDirection.Output; MyCommand.Connection.Open();
MyCommand.ExecuteNonQuery(); if (Convert.ToInt32(MyCommand.Parameters["CountUser"].Value) == 0)
{
Response.Redirect("错误报告.aspx?ErrorCode=5");
return;
}
else if (MyCommand.Parameters["CountUser"].Value == null)
{
Response.Redirect("错误报告.aspx?ErrorCode=6");
return;
}
else if (Convert.ToInt32(MyCommand.Parameters["CountUser"].Value) != 1)
{
Response.Redirect("错误报告.aspx?ErrorCode=不可预知的错误");
return;
} sUserName = MyCommand.Parameters["vUserName"].Value.ToString();
sCompany = MyCommand.Parameters["vCompany"].Value.ToString();
sUserLvl = MyCommand.Parameters["vUserlvl"].Value.ToString();
LabelWelcome.Text = "欢迎你光临西南物流网上查询系统:" + sUserName; Session["UserID"] = sUserID;
Session["UserName"] = sUserName;
Session["UserLvl"] = sUserLvl;
Session["Company"] = sCompany; string sSelectCommand1;//qrj edit at 2007.10.08
//增加对于用户冻结状态的判断 sSelectCommand1 = "select userstatu from scott.netusersearch where userid = :userid";
OracleCommand MyCommand1 = new OracleCommand();
MyCommand1.Connection = MyConnection;
MyCommand1.CommandText = sSelectCommand1;
MyCommand1.CommandType = CommandType.Text;
MyCommand1.Parameters.Add(":userid", OracleType.VarChar).Value = sUserID; MyCommand1.Connection.Open(); OracleDataReader odr; odr = MyCommand1.ExecuteReader(); string sStatu;
if (odr.Read())
{
sStatu = odr[0].ToString();
}
else
{
Response.Redirect("错误报告.aspx?ErrorCode=不存在输入的用户ID");
return;
}
odr.Close(); if (sStatu == "0")
{
Response.Redirect("错误报告.aspx?ErrorCode=输入的用户ID的用户已经处于冻结状态,需要解除冻结才能登录!");
return;
} MyCommand.Connection.Close(); Response.Redirect("load.aspx");
} protected string GetConfirmCode(int VcodeNum)
{
string Vchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
string[] VcArray = Vchar.Split(new Char[] { ',' });
string VNum = "";
int temp = -1; Random rand = new Random(); for (int i = 1; i < VcodeNum + 1; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
} int t = rand.Next(35); temp = t;
VNum += VcArray[t];
}
return VNum;
}
}
报错位置如下:
MyCommand.Connection.Open();
大家帮帮吧,谢谢啦
using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.OracleClient;
using System.Drawing;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sConfirmCode;
this.Title = "欢迎光临XXXXXXX中心";
if (!IsPostBack)
{
if (Session["UserID"] == null)
{
LabelWelcome.Text = "欢迎光临,请先登陆";
} //增加了创建验证码得代码 2007-3-1 congcong
sConfirmCode = GetConfirmCode(5);
Session["ConfirmCode"] = sConfirmCode;
Image1.ImageUrl = "ImageConfirmCode.aspx";
// 增加代码结束 2007-3-1 congcong
}
}
protected void ButtonLogin_Click(object sender, EventArgs e)
{
string sUserID, sPassword, sUserName, sUserLvl, sCompany; //增加了对于验证码得判断 2007-3-1 congcong
string sConfirmCode,sSessionConfirmCode;
sConfirmCode = TextBoxConfirmCode.Text;
sSessionConfirmCode = Session["ConfirmCode"].ToString();
if (sConfirmCode != sSessionConfirmCode)
{
Response.Redirect("错误报告.aspx?ErrorCode=验证码输入错误!请返回,重新输入");
} // 增加代码结束 2007-3-1 congcong sUserID = TextBoxUserID.Text;
sPassword = TextBoxUserPassword.Text; LabelWelcome.Text = sUserID;
string sConnectionString, sSelectCommand; sConnectionString = ConfigurationManager.ConnectionStrings["OraConnectionString"].ConnectionString;
OracleConnection MyConnection = new System.Data.OracleClient.OracleConnection(sConnectionString); sSelectCommand = "scott.P_CHECK_USER_PASSWORD";
OracleCommand MyCommand = new OracleCommand();
MyCommand.Connection = MyConnection;
MyCommand.CommandText = sSelectCommand;
MyCommand.CommandType = CommandType.StoredProcedure; MyCommand.Parameters.Add("vUserID", OracleType.VarChar).Value = sUserID;
MyCommand.Parameters.Add("vUserPassword", OracleType.VarChar).Value = sPassword;
MyCommand.Parameters.Add("vUserlvl", OracleType.VarChar, 1).Direction = ParameterDirection.Output;
MyCommand.Parameters.Add("CountUser", OracleType.Number).Direction = ParameterDirection.Output;
MyCommand.Parameters.Add("vUserName", OracleType.VarChar, 20).Direction = ParameterDirection.Output;
MyCommand.Parameters.Add("vCompany", OracleType.VarChar, 20).Direction = ParameterDirection.Output; MyCommand.Connection.Open();
MyCommand.ExecuteNonQuery(); if (Convert.ToInt32(MyCommand.Parameters["CountUser"].Value) == 0)
{
Response.Redirect("错误报告.aspx?ErrorCode=5");
return;
}
else if (MyCommand.Parameters["CountUser"].Value == null)
{
Response.Redirect("错误报告.aspx?ErrorCode=6");
return;
}
else if (Convert.ToInt32(MyCommand.Parameters["CountUser"].Value) != 1)
{
Response.Redirect("错误报告.aspx?ErrorCode=不可预知的错误");
return;
} sUserName = MyCommand.Parameters["vUserName"].Value.ToString();
sCompany = MyCommand.Parameters["vCompany"].Value.ToString();
sUserLvl = MyCommand.Parameters["vUserlvl"].Value.ToString();
LabelWelcome.Text = "欢迎你光临西南物流网上查询系统:" + sUserName; Session["UserID"] = sUserID;
Session["UserName"] = sUserName;
Session["UserLvl"] = sUserLvl;
Session["Company"] = sCompany; string sSelectCommand1;//qrj edit at 2007.10.08
//增加对于用户冻结状态的判断 sSelectCommand1 = "select userstatu from scott.netusersearch where userid = :userid";
OracleCommand MyCommand1 = new OracleCommand();
MyCommand1.Connection = MyConnection;
MyCommand1.CommandText = sSelectCommand1;
MyCommand1.CommandType = CommandType.Text;
MyCommand1.Parameters.Add(":userid", OracleType.VarChar).Value = sUserID; MyCommand1.Connection.Open(); OracleDataReader odr; odr = MyCommand1.ExecuteReader(); string sStatu;
if (odr.Read())
{
sStatu = odr[0].ToString();
}
else
{
Response.Redirect("错误报告.aspx?ErrorCode=不存在输入的用户ID");
return;
}
odr.Close(); if (sStatu == "0")
{
Response.Redirect("错误报告.aspx?ErrorCode=输入的用户ID的用户已经处于冻结状态,需要解除冻结才能登录!");
return;
} MyCommand.Connection.Close(); Response.Redirect("load.aspx");
} protected string GetConfirmCode(int VcodeNum)
{
string Vchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
string[] VcArray = Vchar.Split(new Char[] { ',' });
string VNum = "";
int temp = -1; Random rand = new Random(); for (int i = 1; i < VcodeNum + 1; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
} int t = rand.Next(35); temp = t;
VNum += VcArray[t];
}
return VNum;
}
}
报错位置如下:
MyCommand.Connection.Open();
大家帮帮吧,谢谢啦
配置。
如果再不行的话,可能是web.config 里的OraConnectionString连接语句錯了。
<add key="OraConnectionString" value="user id=abc;data source=servername;password=123"></add>
abc是用户名
123是口令
servername是服务名
providerName="System.Data.OracleClient" />
<add name="ConnectionString" connectionString="Data Source=ORCL_DATABASE-SERVER;User ID=sysman;Unicode=True"
providerName="System.Data.OracleClient" />
</connectionStrings>