求大神看看问题在哪

c516264586 2014-12-23 04:38:40
这是运行后的问题
这是代码using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace LoginForm
{
public partial class Form1 : Form
{
public static string name;
public static string psw;
public static string right;

public Form1()
{
InitializeComponent();
}

private void login_btn_Click(object sender, EventArgs e)
{
if (this.textname.Text.Trim() == "" || textpsw.Text == "")
{
MessageBox.Show("请输入您的用户名和密码!", "提示!");
return;
}

string Username = textname.Text;
string Userpsw = textpsw.Text;

if (Username == "" || Userpsw == "")
{
MessageBox.Show("请输入用户名和密码!", "提示!");
}
else
{
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Documents\\Database2.accdb");

if (radioButton1.Checked)
{
string str = "select * from login where Usertight='" + this.textname.Text.Trim() + "'";
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(str, conn);
OleDbDataReader read = cmd.ExecuteReader();
if (read.Read())
{
if (textpsw.Text.Trim().Equals(read["Userpsw"].ToString().Trim()))
{
MessageBox.Show("登录成功!", "欢迎登录本系统!");
this.Hide();
AdminLogin fm = new AdminLogin();
fm.Show();
}
else
{
MessageBox.Show("密码输入错误,请重新输入!");
}

}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}

}
if (radioButton2.Checked)
{
string str = "select * from stu where Userright='" + this.textname.Text.Trim() + "'";
try
{
conn.Open();
OleDbCommand cmd = new OleDbCommand(str, conn);
OleDbDataReader read = cmd.ExecuteReader();
if (read.Read())
{
if (textpsw.Text.Trim().Equals(read["Userpsw"].ToString().Trim()))
{
MessageBox.Show("登录成功!", "欢迎登录本系统!");
this.Hide();
StuLogin fm = new StuLogin();
fm.Show();
}
else
{
MessageBox.Show("密码输入错误,请重新输入!");
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
if (radioButton1.Checked == false && radioButton2.Checked == false)
{
MessageBox.Show("请选择权限!");
}
}

}

private void cancel_btn_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
...全文
341 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2014-12-25
  • 打赏
  • 举报
回复
你应该先F5调试,调试成了再放到真实环境里测试 代码本身就有问题,你调试的时候保证也会报错的
tuyijinlu 2014-12-25
  • 打赏
  • 举报
回复
看不懂什么情况啊
tiger_zl 2014-12-25
  • 打赏
  • 举报
回复
出错,找错,就是进步哈
我叫小菜菜 2014-12-25
  • 打赏
  • 举报
回复
引用 5 楼 mervyn807 的回复:
错误提示很明显 第49行 错误原因是有一个参数没有赋值 从报错看 你的sql有问题
正解在这里!!我觉得,这么明显的错误提示,会基本程序调试的,都能找到问题所在了。。
o_range 2014-12-25
  • 打赏
  • 举报
回复
不是大神,只看不说~
smthgdin_020 2014-12-24
  • 打赏
  • 举报
回复
最好设置下断点,看看执行前的sql和参数。目测 string str = "select * from login where Usertight='" + this.textname.Text.Trim() + "'"; 这里的引号多了。
Sq-Zyz123 2014-12-24
  • 打赏
  • 举报
回复
引用 20 楼 c516264586 的回复:
感谢各位。。。。代码问题是手误打错了。。。。关键问题是Access的问题。。问题已经解决了
什么3问题?
Sq-Zyz123 2014-12-24
  • 打赏
  • 举报
回复
引用 18 楼 andywangguanxi 的回复:
引用 17 楼 u013063561 的回复:
[quote=引用 3 楼 c516264586 的回复:] 代码显示有错啊没错。。。。。。。。调试代码没显示错误啊
usertight 总感觉你是不是这个字段写错了?你看了吗
嗯,我看靠谱! 在每一个sql字符串下一行上打上断点,程序执行到断点处,鼠标放到string变量上,把sql语句弄出来执行一下。[/quote] 恩,按说字段名应该是一样的,不管是那个表。。感觉应该是userright,不应该是usertight
EdsionWang 2014-12-24
  • 打赏
  • 举报
回复
引用 17 楼 u013063561 的回复:
引用 3 楼 c516264586 的回复:
代码显示有错啊没错。。。。。。。。调试代码没显示错误啊
usertight 总感觉你是不是这个字段写错了?你看了吗
嗯,我看靠谱! 在每一个sql字符串下一行上打上断点,程序执行到断点处,鼠标放到string变量上,把sql语句弄出来执行一下。
c516264586 2014-12-24
  • 打赏
  • 举报
回复
感谢各位。。。。代码问题是手误打错了。。。。关键问题是Access的问题。。问题已经解决了
Sq-Zyz123 2014-12-23
  • 打赏
  • 举报
回复
引用 3 楼 c516264586 的回复:
代码显示有错啊没错。。。。。。。。调试代码没显示错误啊
usertight 总感觉你是不是这个字段写错了?你看了吗
  • 打赏
  • 举报
回复
程序开发,就是要找到各种bug,让程序迟早要垮掉的异常今早表现出来。当你把几百个bug修改过后,并且每一次发现bug的过程都能够在下一次发布程序之前先“回归测试”多遍以后,程序才有了质量。我们看一个程序员是否有能力,首先是观察其调试的方法(调试时是否有能力),而不是看他能从网上搜索到多少个代码段子抄下来。 try....catch 只有在release版本(向生产环境发布产品)时采用到,通常都会使用“条件编译”或者“Conditional标签”来屏蔽掉那些语句。不但在我们自己的机器上要保持保持debug,而且就算是发布到测试环境时也要保持debug(而不是release)。 在你学习编程、一步一步学习知识的过程中,如果你的老师没有教你调试,而是教你写 try...catch,这其实是一种蒙骗。
  • 打赏
  • 举报
回复
引用 3 楼 c516264586 的回复:
代码显示有错啊没错。。。。。。。。调试代码没显示错误啊
你自己自欺欺人地 try....catch了,试图带病工作,还怎么能够调试呢?
  • 打赏
  • 举报
回复
当抛出异常时,你至少应该调试 str 中是什么值。把它贴出来,才知道到底有什么参数?为什么需要指定值?
wind_cloud2011 2014-12-23
  • 打赏
  • 举报
回复
查一下:一个是登陆表login有没有usertight这个字段,一个是学生表stu里有没有userright这个字段,
wind_cloud2011 2014-12-23
  • 打赏
  • 举报
回复
应该是你字段写错了,字段错了就会有这个错误提示了
wind_cloud2011 2014-12-23
  • 打赏
  • 举报
回复
你单步调试一下,另数据连接后,读取数据完成后还要关闭
c516264586 2014-12-23
  • 打赏
  • 举报
回复
代码改完了。。还是那个问题。。。
Sq-Zyz123 2014-12-23
  • 打赏
  • 举报
回复
引用 8 楼 u013063561 的回复:
字段名。。。
我看错了。0 0不是一张表。- -!~
Sq-Zyz123 2014-12-23
  • 打赏
  • 举报
回复
字段名。。。
加载更多回复(7)

110,571

社区成员

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

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

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