登录事件为什么不弹出警告对应框,后台采用的SQL sever2005有些看不懂.

cheng525jj 2010-10-29 10:46:08
执行语句的方法:
public SqlDataReader GetDataReader(string str_Sql)
{
Open();
SqlCommand cmd = new SqlCommand(str_Sql, conn);
SqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
return dr;
}

public object Get_object(string strsql)//获取一个object类型的数据
{
Open();
cmd = new SqlCommand(strsql, conn);
object o = cmd.ExecuteScalar();
conn.Close();
return o;
}

/// <summary>
/// 打开数据库
/// </summary>
public void Open()
{
conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ok"].ToString());
conn.Open();
}
在Web.config所配制的数据库(数据库采用的时SQL Server2005)连接语句:
<connectionStrings>
<add name="ok" connectionString="Data Source=.;User ID=sa;Password=sa525;persist security info=False;initial catalog=CustomersRecord;" providerName="System.Data.SqlClient" />
</connectionStrings>
-----------------------------------------
登录处理事件:
protected void LoginButton_Click(object sender, EventArgs e)
{
strsql = "select count(1) as Num from employee where Pernr='"+this.Login1.UserName.Trim()+"' and Password='"+this.Login1.Password.Trim()+"'";
try
{
SqlDataReader dr = cf.GetDataReader(strsql);
while (dr.Read())
{
if (Convert.ToInt32(dr["num"]) == 1)
{
strsql2 = "select distinct STAT2 from ZTA_HRDNET where pernr = '"+this.Login1.UserName.Trim()+"'"; ////验证用户是否在职
if (cf.Get_object(strsql2).ToString().Trim() == "3")
{
urkey = this.Login1.UserName.ToString();
Server.Transfer("Default.aspx?flag=1", true);///带参数flag来指定login传来值.
}
else
{
Response.Write("<script language = javascript>alert('用户账号已停用!');</script>");
}
}
else
Response.Write("<script language = javascript>alert('用户名或密码错误!');</script>");
}
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
}
}
问题:
1当我用户名与密码都正确的时能正常登录.
2.当用户名与密码错误时为什么不能弹出"用户名或密码错误!"对话框?
3.当用户停用时,为什么不能弹出"用户账号已停用!"对话框?

弹出的错误为:

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
...全文
79 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cheng525jj 2010-10-30
  • 打赏
  • 举报
回复
TCP/IP和命名管道是启用的.
SQL的登陆方式,选用混合方式.
连接字符串问题,服务器名和数据库是正确(用户名与密码正确时是可以登录系统的)
Sql Server Browser是启动的(服务是启动的)

Server=127.0.0.1/SQLEXPRESS
因为我没有安装SQLEXPRESS版,到底如何配制.


cheng525jj 2010-10-30
  • 打赏
  • 举报
回复
这个跟数据库没有关系,用户名密码都正确的时候,是OK的.
wuyq11 2010-10-29
  • 打赏
  • 举报
回复
允许TCP/IP和命名管道是否设置
Sql Server Browser是否启动
SQL的登陆方式,选用混合方式
连接字符串问题,服务器名和数据库是否正确
Server=127.0.0.1/SQLEXPRESS

yujiayou 2010-10-29
  • 打赏
  • 举报
回复
用这个试试
this.page.ClientScript.registerstartUpScript(this.gettype(),"long","alert('用户名或密码错误')",true);


如果有Ajax你就用这个
this.ScriptManager.registerstartupScript(this.控件ID.getType(),"long","alert('用户名或密码错误')",true);

我是手些的有点乱,都能点出来的
nitaiyoucala 2010-10-29
  • 打赏
  • 举报
回复
明显是数据库连接问题啊 修改sql2005配置 或者检查你程序里面的连接字符串

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧