为什么单击登录按钮时  “在da.Fill(ds, "yhb");处显示FROM子句语法错误。”  出现这种错误。 
private void button1_Click(object sender, EventArgs e)         { 
            string strUser = txtUser.Text.ToString().Trim();          
            string strPwd =""; 
            strPwd = txtPassword.Text.ToString().Trim();             OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mybook.mdb"); 
            conn.Open(); 
            DataSet ds = new DataSet(); 
            string sql = "select * from user"; 
            OleDbDataAdapter da = new OleDbDataAdapter(sql, conn); 
            da.Fill(ds, "yhb"); 
            DataTable dt = new DataTable(); 
            dt = ds.Tables["yhb"];             for (int i = 0; i < dt.Rows.Count; i++) 
            { 
                if (strUser == dt.Rows[i]["username"].ToString().Trim()) 
                { 
                    if (strPwd == dt.Rows[i]["password"].ToString().Trim()) 
                    { 
                        this.DialogResult = DialogResult.OK; 
                    } 
                    else 
                    { 
                        MessageBox.Show("你的用户名或密码不正确,请重新输入!"); 
                        return; 
                    } 
                } 
        static void Main() 
        { 
            Application.EnableVisualStyles(); 
            Application.SetCompatibleTextRenderingDefault(false); 
            LoginForm  fm = new LoginForm (); 
            if (fm.ShowDialog() == DialogResult.OK) 
            { 
                Application.Run(new MainForm ()); 
            } 
            LoginForm form1 = new LoginForm(); 
            form1.Close(); 
            MainForm form2 = new MainForm(); 
            form2.Show(); 
        } 
                
      }

解决方案 »

  1.   

    user是系统关键字
    [user]试试
      

  2.   

    da.Fill(ds, "yhb"); 
    yhb改为user
      

  3.   

      string sql = "select * from [user] where username='"+strUser +"'"; 
      foreach(DataRow dr in dt.Rows)
                { 
                      if (strPwd.Equals(dr["password"].ToString().Trim())) 
                        { 
                            this.DialogResult = DialogResult.OK; 
                        } 
                        else 
                        { 
                            MessageBox.Show("你的用户名或密码不正确,请重新输入!"); 
                            return; 
                        } 
               } 
      

  4.   

    select * from [user]select * from userUSER是SQL关键字
      

  5.   

    select * from [user]