2017-08-19 9 views
-1

私はデータベースからデータを取得していますが、セルが空であるかどうかをチャンネルごとに同じ行のデータで確認したいと思います。ここでデータベース内のデータが空であることを確認してください

は、例えば、テーブルのためである:ここでは

--------------------------- 
| channel | program_id 
--------------------------- 
| ITV  | 
| ITV  | 3021 
| ITV  | 3022 
| ITV  | 3023 

はコードです:ここでは

def update_in_database(self): 
    profilePath = xbmc.translatePath(os.path.join('special://userdata/addon_data/script.tvguide', 'source.db')) 
    conn = database.connect(profilePath) 
    cur = conn.cursor() 
    program_id = ''.join(str(x) for x in self.program_id) 
    cur.execute('SELECT channel, program_id FROM programs WHERE program_id=?;', (program_id,)) 
    data = cur.fetchone() 


    if data: 
     #check if the data in a database is empty 

は、データの出力です:

(u'103 ITV', u'3021') 

私は文字列を持っていますprogram_idは3021なので、データベースの文字列をチェックして、上記のデータが3021は空ですので何かできます。

上記の文字列のデータが空であるかどうかを確認するにはどうすればいいですか?

+0

@マークそれはDBAPI互換性のあるものを使用しているようですが、 "do stuff"は純粋なSQLで適切に処理できないかもしれないし、Pythonを使うこともできます。 ... –

+0

@CoryMadden誰かが回答を投稿できるように私の質問を更新しました –

+0

program_idがあり、指定されたprogram_idの上の行が空であるかどうかを知りたいと思いますか? – Erik

答えて

0

リレーショナルデータベースとSQLは、実際にこのように使用するようには設計されていません。データベースを使用する場合、別の行の上にある特定の行をフェッチする必要はありません。

データベースの設計を変更することをお勧めします。これはあなたの問題を解決し、おそらくデータベースで作業するのを容易にします。

データベースに保存する必要があるすべてのデータについてさらに詳しい情報を提供できる場合は、より良い設計をするためにお手伝いできます。

関連する問題