using(conn = new OleDbConnection(strConn))
                {
                    try
                    {
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        cmd = new OleDbCommand();
                        cmd.Connection = conn;
                        cmd.CommandType = CommandType.Text;
                        cmd.CommandText = "select * from user where user=@loginname and pwd=@loginpwd";
                       //设置参数
                        OleDbParameter[] paras=new OleDbParameter[2];
                       //用户名
                        paras[0] = new OleDbParameter("@loginname",OleDbType.Char,50);
                        paras[0].Value = this.txtLoginName.text;
                         //密码
                        paras[1] = new OleDbParameter("@loginpwd",OleDbType.Char,100);
                        paras[1].Value = this.txtLoginPwd.text;
                        foreach(OleDbParameter para in paras)
                        {
                            cmd.Parameters.Add(para);
                        }
                        int nFalg = Convert.ToInt32(cmd.ExecuteScalar());
                        return 0;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        return -1;
                    }
                    finally
                    {
                        if (conn.State == ConnectionState.Open)
                        {
                            conn.Close();
                        }
                    }
                }
说是FROM语句出错...  但是在数据库里面执行SQL语句没有问题....求高手指点迷津  

解决方案 »

  1.   

    你使用了SQL保留的关键字,导致转义出错??
      

  2.   

    cmd.CommandText = "select * from user where user=@loginname and pwd=@loginpwd";
    中的user=@loginname 
    改为username = =@loginname 同时将数据库的字段也相应的改一下,试一试
      

  3.   

    select * from [user] where [user]=@loginname and pwd=@loginpwd
      

  4.   

    cmd.CommandText = "select * from user where user=@loginname and pwd=@loginpwd";
    中的表名user为数据库保留字,你换个名字吧