input: Write a function that converts a given SQL statement into a Python Pandas DataFrame. The function should take a SQL statement as input and return a Pandas DataFrame. If the input SQL statement is not valid, the function should return an appropriate error message.
  assert convert_sql_to_df("SELECT * FROM book;")==pd.DataFrame()
  assert convert_sql_to_df("SELECT title, author FROM book;")==pd.DataFrame()
  assert convert_sql_to_df("INVALID SQL STATEMENT")=="Invalid SQL statement"
  assert convert_sql_to_df("")=="Empty SQL statement"
  assert convert_sql_to_df("SELECT * FROM nonexistent_table;")=="Table not found"
output: def convert_sql_to_df(sql_statement):
      import pandas as pd
      import sqlite3
      
      if not sql_statement:
          return "Empty SQL statement"
      
      try:
          conn = sqlite3.connect(':memory:')
          cursor = conn.cursor()
          cursor.execute(sql_statement)
          result = cursor.fetchall()
          columns = [description[0] for description in cursor.description]
          df = pd.DataFrame(result, columns=columns)
          conn.close()
          return df
      except sqlite3.OperationalError as e:
          if "no such table" in str(e):
              return "Table not found"
          else:
              return "Invalid SQL statement"