{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_User where UserName=@UserName", new SqlParameter("@username", loginuser.Text));
if(table.Rows.Count<=0)
MessageBox.Show("用户名不存在!请重新输入");
if(table.Rows.Count>0)
MessageBox.Show("用户名重复");
DataRow row = table.Rows[0]; 在这一行提示在位置 0 处没有任何行。
string pass = (string)row["password"];
if(pass!=loginpass.Password)
MessageBox.Show("密码错误!请重新输入");
else
MessageBox.Show("登入成功!");
}
请各位帮我解答一下
9 个解决方案
#1
table 是空的。
#2
if(table.Rows.Count<=0)
MessageBox.Show("用户名不存在!请重新输入");
if(table.Rows.Count>0)
MessageBox.Show("用户名重复");
这什么逻辑
不是用户名不存在,就是用户名重复,没有正常情况吗?
而且,已经异常了,不return,还继续往下走,那能对吗
MessageBox.Show("用户名不存在!请重新输入");
if(table.Rows.Count>0)
MessageBox.Show("用户名重复");
这什么逻辑
不是用户名不存在,就是用户名重复,没有正常情况吗?
而且,已经异常了,不return,还继续往下走,那能对吗
#3
你先把自己的逻辑捋捋清楚,再谈代码的问题
代码是实现逻辑的
你先不要急着码代码
把代码都翻译成中文,自己好好读读,看通顺吗??
代码是实现逻辑的
你先不要急着码代码
把代码都翻译成中文,自己好好读读,看通顺吗??
#4
如果(表里行数<=0)弹出对话框,然后继续往下走
如果(表里行数>0)弹出对话框,继续往下走
获取第一行的数据
前面表里都已经没有行了,还获取第一行的数据,能获取到吗
如果(表里行数>0)弹出对话框,继续往下走
获取第一行的数据
前面表里都已经没有行了,还获取第一行的数据,能获取到吗
#5
private void Button_Click_1(object sender, RoutedEventArgs e)
{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_User where UserName=@UserName", new SqlParameter("@username", loginuser.Text));
if(table.Rows.Count<=0)
{
MessageBox.Show("用户名不存在!请重新输入");
return;
}
if(table.Rows.Count>0)
{
MessageBox.Show("用户名重复");
return;
}
DataRow row = table.Rows[0]; 在这一行提示在位置 0 处没有任何行。
string pass = (string)row["password"];
if(pass!=loginpass.Password)
MessageBox.Show("密码错误!请重新输入");
else
MessageBox.Show("登入成功!");
}
{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_User where UserName=@UserName", new SqlParameter("@username", loginuser.Text));
if(table.Rows.Count<=0)
{
MessageBox.Show("用户名不存在!请重新输入");
return;
}
if(table.Rows.Count>0)
{
MessageBox.Show("用户名重复");
return;
}
DataRow row = table.Rows[0]; 在这一行提示在位置 0 处没有任何行。
string pass = (string)row["password"];
if(pass!=loginpass.Password)
MessageBox.Show("密码错误!请重新输入");
else
MessageBox.Show("登入成功!");
}
#6
这样不对,这样永远return,不可能往下走的
楼主你做的到底是登陆还是注册
注册时才判断用户是否重复
登陆时判断用户是否存在
你把两个功能写到一个按钮里,后果就是2个功能都实现不了
楼主你做的到底是登陆还是注册
注册时才判断用户是否重复
登陆时判断用户是否存在
你把两个功能写到一个按钮里,后果就是2个功能都实现不了
#7
断点看看table.Rows为何没有数据就知道。
#8
select * from T_User where UserName=@UserName
这个执行后,看看结果。
这个执行后,看看结果。
#9
提示在位置 0 处没有任何行。
那就是table为空。重新理清思路再,撸代码吧。
#1
table 是空的。
#2
if(table.Rows.Count<=0)
MessageBox.Show("用户名不存在!请重新输入");
if(table.Rows.Count>0)
MessageBox.Show("用户名重复");
这什么逻辑
不是用户名不存在,就是用户名重复,没有正常情况吗?
而且,已经异常了,不return,还继续往下走,那能对吗
MessageBox.Show("用户名不存在!请重新输入");
if(table.Rows.Count>0)
MessageBox.Show("用户名重复");
这什么逻辑
不是用户名不存在,就是用户名重复,没有正常情况吗?
而且,已经异常了,不return,还继续往下走,那能对吗
#3
你先把自己的逻辑捋捋清楚,再谈代码的问题
代码是实现逻辑的
你先不要急着码代码
把代码都翻译成中文,自己好好读读,看通顺吗??
代码是实现逻辑的
你先不要急着码代码
把代码都翻译成中文,自己好好读读,看通顺吗??
#4
如果(表里行数<=0)弹出对话框,然后继续往下走
如果(表里行数>0)弹出对话框,继续往下走
获取第一行的数据
前面表里都已经没有行了,还获取第一行的数据,能获取到吗
如果(表里行数>0)弹出对话框,继续往下走
获取第一行的数据
前面表里都已经没有行了,还获取第一行的数据,能获取到吗
#5
private void Button_Click_1(object sender, RoutedEventArgs e)
{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_User where UserName=@UserName", new SqlParameter("@username", loginuser.Text));
if(table.Rows.Count<=0)
{
MessageBox.Show("用户名不存在!请重新输入");
return;
}
if(table.Rows.Count>0)
{
MessageBox.Show("用户名重复");
return;
}
DataRow row = table.Rows[0]; 在这一行提示在位置 0 处没有任何行。
string pass = (string)row["password"];
if(pass!=loginpass.Password)
MessageBox.Show("密码错误!请重新输入");
else
MessageBox.Show("登入成功!");
}
{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_User where UserName=@UserName", new SqlParameter("@username", loginuser.Text));
if(table.Rows.Count<=0)
{
MessageBox.Show("用户名不存在!请重新输入");
return;
}
if(table.Rows.Count>0)
{
MessageBox.Show("用户名重复");
return;
}
DataRow row = table.Rows[0]; 在这一行提示在位置 0 处没有任何行。
string pass = (string)row["password"];
if(pass!=loginpass.Password)
MessageBox.Show("密码错误!请重新输入");
else
MessageBox.Show("登入成功!");
}
#6
这样不对,这样永远return,不可能往下走的
楼主你做的到底是登陆还是注册
注册时才判断用户是否重复
登陆时判断用户是否存在
你把两个功能写到一个按钮里,后果就是2个功能都实现不了
楼主你做的到底是登陆还是注册
注册时才判断用户是否重复
登陆时判断用户是否存在
你把两个功能写到一个按钮里,后果就是2个功能都实现不了
#7
private void Button_Click_1(object sender, RoutedEventArgs e)
{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_User where UserName=@UserName", new SqlParameter("@username", loginuser.Text));
if(table.Rows.Count<=0)
MessageBox.Show("用户名不存在!请重新输入");
if(table.Rows.Count>0)
MessageBox.Show("用户名重复");
DataRow row = table.Rows[0]; 在这一行提示在位置 0 处没有任何行。
string pass = (string)row["password"];
if(pass!=loginpass.Password)
MessageBox.Show("密码错误!请重新输入");
else
MessageBox.Show("登入成功!");
}
请各位帮我解答一下
断点看看table.Rows为何没有数据就知道。
#8
select * from T_User where UserName=@UserName
这个执行后,看看结果。
这个执行后,看看结果。
#9
private void Button_Click_1(object sender, RoutedEventArgs e)
{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_User where UserName=@UserName", new SqlParameter("@username", loginuser.Text));
if(table.Rows.Count<=0)
MessageBox.Show("用户名不存在!请重新输入");
if(table.Rows.Count>0)
MessageBox.Show("用户名重复");
DataRow row = table.Rows[0]; 在这一行提示在位置 0 处没有任何行。
string pass = (string)row["password"];
if(pass!=loginpass.Password)
MessageBox.Show("密码错误!请重新输入");
else
MessageBox.Show("登入成功!");
}
请各位帮我解答一下
断点看看table.Rows为何没有数据就知道。
提示在位置 0 处没有任何行。
那就是table为空。重新理清思路再,撸代码吧。