C#登陆失败,未处理FormatException,输入字符串的格式不正确。

错误代码intstate=Convert.ToInt32(cmd.ExecuteScalar());登陆代码:stringstrConnection="Provider=... 错误代码 int state = Convert.ToInt32(cmd.ExecuteScalar());

登陆代码:
string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;";

strConnection += @"Data Source=C:\Users\thtf\Desktop\新建文件夹\管理系统\管理系统\Database\xiangmu.mdb"; // 定义连接

OleDbConnection objConnection = new OleDbConnection(strConnection);

objConnection.Open();
string sql = "select * from login_user where username='" + this.txtusername.Text + "' and password='" + this.txtpassword.Text + "'";
OleDbCommand cmd = new OleDbCommand(sql, objConnection);
int state = Convert.ToInt32(cmd.ExecuteScalar());//执行sql语句,并返回获得值

if (state == 0)//如果数据中没有记录或有多条记录则抱错
{

MessageBox.Show("用户不存在,请检测用户名和密码是否正确!");

}
else
{
main2Form main2 = new main2Form();
main2.Show();
this.Hide();
}
objConnection.Close();
展开
 我来答
wesay_who
2011-09-29 · TA获得超过340个赞
知道小有建树答主
回答量:321
采纳率:0%
帮助的人:202万
展开全部
加个断点调试下,应该是有空格吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hege35461335
2011-09-29 · 超过26用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:61.8万
展开全部
C:\Users\thtf\Desktop\新建文件夹\管理系统\管理系统\Database\xiangmu.mdb不能是中文的
追问
改成英文的也不行
追答
select * from login_user where username='" + this.txtusername.Text + "' and password='" + this.txtpassword.Text + "'
改为
select count( *) from login_user where username='" + this.txtusername.Text + "' and password='" + this.txtpassword.Text + "'试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0255e73
2011-09-29 · TA获得超过403个赞
知道小有建树答主
回答量:549
采纳率:0%
帮助的人:459万
展开全部
//........
OleDbCommand cmd = new OleDbCommand(sql, objConnection);
object o = cmd.ExecuteScalar();
int state = (o == null || o is DBNull)?0:Convert.ToInt32(o);
//........
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式