#!/usr/bin/env python3
"""
find_record_rowid.py - 查询特定记录的 rowid 和详细信息
"""

import sqlite3

def find_record_rowid():
    db_path = r'\\ll\D\xtrssvjj\db\dpd.db'
    target_name = "国产摩托车是中国制造史上最被低估的励志样本之一"
    
    try:
        print(f"正在连接数据库: {db_path}")
        conn = sqlite3.connect(db_path, timeout=60.0)
        conn.row_factory = sqlite3.Row
        
        print(f"正在查找 ads 表中包含 '{target_name}' 的记录...")
        
        # 查找包含目标字符串的记录
        query = "SELECT rowid, * FROM ads WHERE name LIKE ?"
        cursor = conn.execute(query, (f"%{target_name}%",))
        
        records = cursor.fetchall()
        
        if records:
            print(f"找到 {len(records)} 条记录:")
            print("=" * 120)
            
            for i, record in enumerate(records):
                print(f"\n记录 {i+1}:")
                print("-" * 120)
                print(f"  rowid: {record['rowid']}")
                print(f"  name: {record['name']}")
                print(f"  createtime: {record['createtime']}")
                print(f"  tts: {record['tts']}")
                print(f"  ttscnt: {record['ttscnt']}")
                print(f"  totsrts: {record['totsrts']}")
                print(f"  pub: {record['pub']}")
                
                # 检查 srts 表中的对应记录数
                srts_count = conn.execute("SELECT COUNT(*) FROM srts WHERE adid = ?", (record['rowid'],)).fetchone()[0]
                print(f"  srts 记录数: {srts_count}")
            
            print("=" * 120)
            
        else:
            print(f"未找到包含 '{target_name}' 的记录")
        
        conn.close()
        print("数据库连接已关闭")
        
    except Exception as e:
        print(f"错误: {e}")
        import traceback
        traceback.print_exc()

if __name__ == "__main__":
    find_record_rowid()
