2017-01-14 4 views
0

私はこの従業員データベースを自分のプロジェクト用に作成し、それをクラスに変換する必要があります(クラスを含むために多くの印を付けています)が、各列を繰り返し処理する必要があります(IDnamejobRole等)を作成し、作成したクラスEmployeeのオブジェクトを作成します。SQL Pythonデータベースをクラスに変換する

これは、これまでの私のコードです:私は私のGUIでコードを実行し、ボタンをクリックすると、それは私はそれが何をしたいのか

tableID = c.execute('select employeeID from employeeData') 
for r in tableID: 
    tableName = c.execute('select employeeName from employeeData') 
    for s in tableName: 
     tableJobRole = c.execute('select employeeJobRole from employeeData') 
     for t in tableJobRole: 
      tableYearlySalary = c.execute('select employeeYearlySalary from employeeData') 
      for u in tableYearlySalary: 
       v = s 
       exec(str(v)) 
       v = Employee(r, s, t, u) 

行いません。列のデータをr,stuに設定して、すべての列のデータを同時に次の行に移動するために、最初の行を繰り返し処理するコードを作成するにはどうすればよいですか?

rのそれぞれ、stuが最初の行に等しくなる、そして私の代わりに次の行にまで行くの最初の最初の行に滞在3とuの次の行に等しくなるようにそれらのすべてをしたいですtがインクリメントされ、次にsになります。

だから、私はどうにかしてそれぞれのためにそれぞれを増やしたいと思います。

+1

この質問は非常に不明です。 Pythonクラスの観点からデータベーススキーマを表現するための一般的なソリューションを探しているなら、[SQLAlchemy](http://www.sqlalchemy.org/)ORMライブラリが興味深いかもしれません。感謝! – LINKIWI

答えて

0

単一のクエリを使用して、テーブルの各行のすべてのフィールドを返すことができます。これを試してください:

employees = [] 
c.execute('select employeeID, employeeName, employeeJobRole, employeeYearlySalary from employeeData') 
results = cursor.fetchall() 
for row in results: 
    employees.append(Employee(row[0], row[1], row[2], row[3])) 
+0

ありがとう!私はそれを試してみると、私はどのようにあなたに教えてくれるでしょう:) –

+0

それは働いた。私はコードを挿入することができないようです...私が入力を押すと、コメントを送信するだけです。お時間をいただきありがとうございます。感謝します! –

関連する問題