string strConnection = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=financeManagerSystem.accdb";
            objConnection = new OleDbConnection(strConnection);
            objConnection.Open();
            string cmmd = "select * from [User] where uname='";
            cmmd += txtPassword.Text.ToString();
            cmmd += "' and passowrd='";
            cmmd += txtPassword.Text.ToString();
            cmmd += "'";
            OleDbCommand cmd = new OleDbCommand(cmmd,objConnection);
            OleDbDataReader dr = cmd.ExecuteReader();
            DataSet ds = new DataSet();
            OleDbDataAdapter oda = new OleDbDataAdapter(cmd); 
            oda.Fill(ds);
            if (dr.Read())
            {
                MessageBox.Show("登陆成功!");
                this.Hide();
                mainFrm mFr = new mainFrm();
                mFr.ShowDialog();
            }
            else 
            {
                MessageBox.Show("登陆失败!");
            }
总是提示我 其他信息: 至少一个参数没有被指定值。
这是为什么啊?

解决方案 »

  1.   

    sql语句不对
    你的密码字段是这个吗?passowrd,反正单词是写错了。
    string cmmd = "select * from [User] where uname='";
                cmmd += txtPassword.Text.ToString();
                cmmd += "' and passowrd='";
                cmmd += txtPassword.Text.ToString();
                cmmd += "'";
      

  2.   

    改了之后又提示  已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。
      

  3.   

    这些没用就删了
     DataSet ds = new DataSet();
                OleDbDataAdapter oda = new OleDbDataAdapter(cmd); 
                oda.Fill(ds);

    判断登陆 用用户输入的和数据库去对比,