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;namespace MyUser
{
    public partial class frmLogin : Form
    {
        public frmLogin()
        {
            InitializeComponent();
        }
        //关闭事件
        private void btnCancle_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
        //登陆事件--进入主窗体
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtName.Text.Trim().Length==0)
            {
                MessageBox.Show("请输入账号", "小念提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (txtPwd.Text.Trim().Length==0)
            {
               MessageBox.Show("请输入密码", "小念提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
  
            }
            else if (txtName.Text.Trim().Length>0&&txtPwd.Text.Trim().Length>0)
            {
                string sql = string.Format("select * from Users where  Uname='{0}' and Upwd='{1}'", txtName, txtPwd);
                int result = (int)DBHelper.SelectForScaler(sql);
                if (result==1)
                {
                    frmMain main = new frmMain();
                    main.Show();
                }
                
            }
            
           
        }
    }
}很简单的代码 可是提示未将对象引用设置到对象的实例,大家帮我看看那,谢谢

解决方案 »

  1.   

    int result = (int)DBHelper.SelectForScaler(sql);
    这里
      

  2.   

    string sql = string.Format("select * from Users where Uname='{0}' and Upwd='{1}'", txtName, txtPwd);
      int result = (int)DBHelper.SelectForScaler(sql);
    DBHelper.SelectForScaler为null值,转换int时出错
      

  3.   

    DBHelper.SelectForScaler返回值就是null当然不能强制转int了
    要看DBHelper.SelectForScaler为什么返回null,或者返回null就不要转了