这样写登录方法对吗?

飞扬残月 2009-03-05 02:42:50
public bool DengLu(string name, string pwd)
{
StringBuilder strSQl = new StringBuilder();
OleDbParameter[] newsParms=new OleDbParameter[]{
new OleDbParameter("@name",OleDbType.Char,20),
new OleDbParameter("@pwd",OleDbType.Char,20)};
OleDbCommand cmd=new OleDbCommand();
newsParms[0].Value=name;
newsParms[1].Value=pwd;
foreach (OleDbParameter parm in newsParms)
cmd.Parameters.Add(parm);
using (OleDbConnection conn=new OleDbConnection(CONN_STRING))
{
strSQl.Append("SELECT * FROM semply where sname=@name and spass=@pwd");
conn.Open();
cmd.Connection=conn;
cmd.CommandType=CommandType.Text;
cmd.CommandText=strSQl.ToString();
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
if (val > 0)
return true;
else
return false;

}
}
...全文
139 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞扬残月 2009-03-06
  • 打赏
  • 举报
回复
错误 1 无法将类型“object”隐式转换为“int”。存在一个显式转换(是否缺少强制转换?) E:\oa\App_Code\userlogin.cs 45 23 E:\oa\
别样苍茫 2009-03-05
  • 打赏
  • 举报
回复
解决了
鱼C缸 2009-03-05
  • 打赏
  • 举报
回复
可以,
gg_lihui 2009-03-05
  • 打赏
  • 举报
回复
路过
zouzedong 2009-03-05
  • 打赏
  • 举报
回复
楼上的对的·
yuyantianya 2009-03-05
  • 打赏
  • 举报
回复

public bool DengLu(string name, string pwd)
{
StringBuilder strSQl = new StringBuilder();
OleDbParameter[] newsParms=new OleDbParameter[]{
new OleDbParameter("@name",OleDbType.Char,20),
new OleDbParameter("@pwd",OleDbType.Char,20)};
OleDbCommand cmd=new OleDbCommand();
newsParms[0].Value=name;
newsParms[1].Value=pwd;
foreach (OleDbParameter parm in newsParms)
cmd.Parameters.Add(parm);
using (OleDbConnection conn=new OleDbConnection(CONN_STRING))
{
strSQl.Append("SELECT Count(*) FROM semply where sname=@name and spass=@pwd");
conn.Open();
cmd.Connection=conn;
cmd.CommandType=CommandType.Text;
cmd.CommandText=strSQl.ToString();
int val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
if (val > 0)
return true;
else
return false;

}
}
上面是正解,你可以试试
yijianxiangde100 2009-03-05
  • 打赏
  • 举报
回复
    cmd.CommandText = "SELECT COUNT(*) FROM Member WHERE name=@vname AND password=@vpassword";
cmd.Parameters.Add("@vname", SqlDbType.Char);
cmd.Parameters["@vname"].Value = name;
cmd.Parameters.Add("@vpassword", SqlDbType.Char);
cmd.Parameters["@vpassword"].Value = password;
conn.Open();
int count = 0;
count = (int)cmd.ExecuteScalar();

lz 用我的这个方法试一试?看行不行?
Riverwcj 2009-03-05
  • 打赏
  • 举报
回复
没问题的...
飞扬残月 2009-03-05
  • 打赏
  • 举报
回复
int val =Convert.ToInt32(cmd.ExecuteReader().ToString());
这么写也不对呢?
larry_seven 2009-03-05
  • 打赏
  • 举报
回复
ExecuteNonQuery这个只对insert delete update 有用你写的是select要用ExecuteReader才行
migercai 2009-03-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 Teng_s2000 的回复:]
ls的同志们太不负责任了吧,ExecuteNonQuery都不返回值了,还对???
[/Quote]
没注意
确实不返回值
飞扬残月 2009-03-05
  • 打赏
  • 举报
回复
总是显示登陆错误,即使用户名和密码正确
Teng_s2000 2009-03-05
  • 打赏
  • 举报
回复
ls的同志们太不负责任了吧,ExecuteNonQuery都不返回值了,还对???
Teng_s2000 2009-03-05
  • 打赏
  • 举报
回复

using (OleDbConnection conn=new OleDbConnection(CONN_STRING))
{
strSQl.Append("SELECT count(*) FROM semply where sname=@name and spass=@pwd");
conn.Open();
cmd.Connection=conn;
cmd.CommandType=CommandType.Text;
cmd.CommandText=strSQl.ToString();
int val =Convert.ToInt32( cmd.ExecuteScalar().ToString()); //select 语句用
//cmd.Parameters.Clear();
if (val ==1)
return true;
else
return false;

}


migercai 2009-03-05
  • 打赏
  • 举报
回复
label3,不显示
是不是不原来隐藏了
你可以直接弹出提示的

Response.write("<javascript>alert('登陆成功!');</javascript>");
fox1025701 2009-03-05
  • 打赏
  • 举报
回复
没问题
飞扬残月 2009-03-05
  • 打赏
  • 举报
回复
这是我登录按钮的代码,但是label3,不显示
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
userlogin mylogin = new userlogin();
if (mylogin.DengLu(Txtuser.Text, txtpwd.Text))
{
Session["username"] = Txtuser.Text;
Session["userpass"] = txtpwd.Text;
Label3.Text = "登录成功";
}
else
{
Label3.Text = "登录失败";
}

}
}
zhong2006 2009-03-05
  • 打赏
  • 举报
回复
可以!!
migercai 2009-03-05
  • 打赏
  • 举报
回复
有错吗?

62,268

社区成员

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

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

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

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