“/kaoshi”应用程序中的服务器错误。
用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。
源错误:
源文件: d:\c#实例\kaoshi\login.aspx.cs 行: 85
堆栈跟踪:
行 83:
行 84: //打开数据库执行存储过程
行 85: myConnection.Open();
行 86: myCommand.ExecuteNonQuery();
行 87: myConnection.Close();
我在Web.Config中进行了如下设置,为什么还会出现如上的错误呢?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="connectionString" value="server=DXQ-656A375AD65;database=test"/>
</appSettings>
在SQL中添加了存储过程如下:
CREATE PROCEDURE UserLogin
(
@用户名 nvarchar(16),
@密码 nvarchar(16),
@success int OUTPUT
)
AS
SELECT
@success=count (*)
FROM
Student
WHERE
用户名=@用户名
AND
密码= @密码
GO
登录按钮代码如下:
private void Button1_Click(object sender, System.EventArgs e)
{
//创建连接对象和命令对象
SqlConnection myConnection=new
SqlConnection(ConfigurationSettings.AppSettings["connectionString"]);
SqlCommand myCommand=new SqlCommand("UserLogin",myConnection);
//定义命令对象的类型为存储过程
myCommand.CommandType=CommandType.StoredProcedure;
//向存储过程中添加参数
SqlParameter parameterLoginName=new SqlParameter("@用户名",SqlDbType.NVarChar,16);
parameterLoginName.Value=TextBox1.Text;
myCommand.Parameters.Add(parameterLoginName);
[SqlException: 用户 '(null)' 登录失败。原因: 未与信任 SQL Server 连接相关联。]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction)
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
System.Data.SqlClient.SqlConnection.Open()
kaoshi.WebForm1.Button1_Click(Object sender, EventArgs e) in d:\c#实例\kaoshi\login.aspx.cs:85
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
SqlParameter parameterPassword=new SqlParameter("@密码",SqlDbType.NVarChar,16); parameterLoginName.Value=TextBox2.Text; myCommand.Parameters.Add(parameterPassword);
SqlParameter parameterSuccess=new SqlParameter("@success",SqlDbType.Int); parameterSuccess.Direction=ParameterDirection.Output; myCommand.Parameters.Add(parameterSuccess);
//打开数据库执行存储过程 myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close();
if((int)parameterSuccess.Value>0) { //登录成功 FormsAuthentication.SetAuthCookie(TextBox1.Text,false); //进入欢迎页面 Response.Redirect("welcome.aspx"); } else { //显示登录失败信息 Label4.Text="登录失败,请检查你的用户名和密码。"; }
}// 在此处放置用户代码以初始化页面