C# 实现登录出问题了,求大神解惑

「已注销」 2013-04-05 03:56:46


本来之应该输出成功的,结果一下子输出4排。
其他的登录循环也有类似问题,下面贴代码。

1.login

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ConsoleYang.User;
using ConsoleYang.Conn;
using ConsoleYang.Handle;
using System.Collections;

namespace ConsoleYang.Handle
{
class Login
{
//普通用户登录
public void NormalUserLogin()
{
NormalUser normalUser = new NormalUser();



//用户输入;
string usernameInput=Console.ReadLine();
string passwordInput=Console.ReadLine();

//ARRAYLIST
ArrayList listQueryTwo;

string connString = "Server=WIN7U-20120915R;database=ConsoleYang;uid=sa;password=";
ConnDataBase conn = new ConnDataBase();
listQueryTwo=conn.connectQuery("select * from userinfo", connString);

try
{


foreach (string king in listQueryTwo)
{

//Console.WriteLine(king);

normalUser.Username = king;
normalUser.Password = king;



if (usernameInput.Equals(normalUser.Username) && passwordInput.Equals(normalUser.Password))
{

Console.WriteLine("success login normal user");

}

else
{
Console.WriteLine("fail to login normal user");
}

}

}
catch (Exception e)
{
Console.WriteLine(e.StackTrace);
}

}

//管理员登陆
public void AdminLogin()
{
Admin admin = new Admin();

AdminDelete adminDelete = new AdminDelete();

//接受的管理员名和密码
string adminName = admin.Name;
string adminPassword = admin.Password;

//输入的管理员名和密码;
string adminNameInput = Console.ReadLine();
string adminPasswordInput = Console.ReadLine();

ArrayList listQueryTwo;

string connString = "Server=WIN7U-20120915R;database=ConsoleYang;uid=sa;password=";
ConnDataBase conn = new ConnDataBase();
listQueryTwo = conn.connectAdmin("select * from admin", connString);

try
{
foreach (string adminUser in listQueryTwo)
{
admin.Name = adminUser;
admin.Password = adminUser;



//判断管理员名和密码。
if (adminNameInput.Equals(admin.Name) && adminPasswordInput.Equals(admin.Password))
{

Console.WriteLine("success login admin");
adminDelete.deleteNormalUser();


}

else
{

Console.WriteLine("fail to login admin");
}

}

}
catch (Exception e)
{

}




}


}


}



主程序入口文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ConsoleYang.User;
using ConsoleYang.Conn;
using ConsoleYang.Handle;
namespace ConsoleYang
{
class MainProgram
{
static void Main(string[] args)
{

//欢迎界面
Console.WriteLine("******************************************");
Console.WriteLine("*********************");
Console.WriteLine("************************");
Console.WriteLine("******Welcome******");
Console.WriteLine("************************");
Console.WriteLine("*********************************************");

//实例化各对象
Login login = new Login();
Register register = new Register();
//让用户选择注册或者登录。


Console.WriteLine("register or login?");
Console.WriteLine("0:register --- 1:login");


int registerOrLogin =Convert.ToInt32(Console.ReadLine());

try
{

if (registerOrLogin == 0)
{
//注册。
register.RegisterTwo();

Console.WriteLine("scuccessful to register!!!");
Console.WriteLine("login? input yes!!!");

string loginTwo=Console.ReadLine();

if (loginTwo.Equals("yes"))
{
login.NormalUserLogin();
}

}

else if (registerOrLogin == 1)
{
// 1.用户选择登录,0:管理员,1:普通用户
Console.WriteLine("0:admin login 1.normaluserlogin");
int choosedNumber = Convert.ToInt32(Console.ReadLine());



if (choosedNumber == 0)
{
login.AdminLogin();

}

else if (choosedNumber == 1)
{
login.NormalUserLogin();

}

else
{
Console.WriteLine("please enter the right number : 0 or 1");


}


}
}
catch(Exception e)
{
Console.WriteLine(e.StackTrace);
}




Console.ReadKey();




}
}
}


连接数据类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using ConsoleYang.Conn;
using ConsoleYang.Handle;
using ConsoleYang.User;
using System.Collections;
namespace ConsoleYang.Conn
{
class ConnDataBase
{

//注册连接
public void connect(string queryStr,string connString)
{

/* SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = "Server=localhost;Catalog=ConsoleYang;uid=administrator;password=";

sqlConn.Open();

*/
using (SqlConnection conn = new SqlConnection(connString))
{
// conn.Open();
SqlCommand command = new SqlCommand(queryStr,conn);
command.Connection.Open();
command.ExecuteNonQuery();



}

}

//登录普通用户
public ArrayList connectQuery(string queryStr, string connString)
{

/* SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = "Server=localhost;Catalog=ConsoleYang;uid=administrator;password=";

sqlConn.Open();

*/
using (SqlConnection conn = new SqlConnection(connString))
{
// conn.Open();
SqlCommand command = new SqlCommand(queryStr, conn);
command.Connection.Open();
var connData=command.ExecuteReader();

// NormalUser normaluser = new NormalUser();
NormalUser normaluser = new NormalUser();
// string[,] nameAndPwd = new string[100, 2];
ArrayList listQuery = new ArrayList();

while (connData.Read())
{

normaluser.Username= connData.GetString(0);
normaluser.Password=connData.GetString(1);

listQuery.Add(normaluser.Username);
listQuery.Add(normaluser.Password);


}


return listQuery;


}

}

//连接管理员
public ArrayList connectAdmin(string queryStr, string connString)
{

/* SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = "Server=localhost;Catalog=ConsoleYang;uid=administrator;password=";

sqlConn.Open();

*/
using (SqlConnection conn = new SqlConnection(connString))
{
// conn.Open();
SqlCommand command = new SqlCommand(queryStr, conn);
command.Connection.Open();
var connData = command.ExecuteReader();

// NormalUser normaluser = new NormalUser();
NormalUser normaluser = new NormalUser();
// string[,] nameAndPwd = new string[100, 2];
ArrayList listQuery = new ArrayList();

while (connData.Read())
{

normaluser.Username = connData.GetString(0);
normaluser.Password = connData.GetString(1);

listQuery.Add(normaluser.Username);
listQuery.Add(normaluser.Password);


}


return listQuery;


}

}

}
}

...全文
136 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
EdsionWang 2013-04-05
  • 打赏
  • 举报
回复
select 的时候把普通用户或管理员用户的用户名密码写进条件里面

110,557

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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