title: The specified field 'ID' could refer to more than one table
body: <p>I keep getting this error when I try to find by ID:</p>
  
  <blockquote>
    <p>system.data.oledb.oledbexception the speciefied field 'ID' could refer
    to more than one table listed in the FROM clause of your SQL Statement</p>
  </blockquote>
  
  <p>Here's my code:</p>
  
  <pre><code>public static Invoice GetInvoice(string id)
      {
          OleDbConnection conn = GetConnection();
          Invoice invoice = null;
          if (conn == null)
          {
              return null;
          }
          string sqlString = "SELECT * FROM Person INNER JOIN Employee ON " +
              "Person.ID=Employee.ID WHERE ID = @ID";
          OleDbCommand comm = new OleDbCommand(sqlString, conn);
          comm.Parameters.AddWithValue("@ID", id);
          OleDbDataReader dr = null;
          try
          {
              conn.Open();
              dr = comm.ExecuteReader(CommandBehavior.SingleRow);
              if (dr.Read())
              {
                  invoice = new Invoice();
                  invoice.PersonID = (string)dr["ID"];
                  invoice.FirstName = (string)dr["FirstName"];
                  invoice.LastName = (string)dr["LastName"];
                  invoice.Age = (int)dr["Age"];
              }
          }
          catch (Exception ex)
          {
              invoice = null;
              MessageBox.Show(ex.ToString());
          }
          finally
          {
              if (conn.State == ConnectionState.Open)
              {
                  conn.Close();
              }
          }
          return invoice;
      }
  </code></pre>