iT邦幫忙

0

各位先進,可否提供個想法~

目前可以讀取出MS SQL DB的資料後,用python,直接秀出 作廢,目前我可以弄出來,直接一個bat檔案 SQL語法先輸入 發票範圍~ 點兩下 bat 就秀出來 作廢張數

在更進階一點的想法~ 例如 我輸入一個 一期發票字軌的範圍, 然後自動秀出 跳號的

例如 AA00000950 ~ AA00001950 這個範圍,直接秀出 跳號 的 是哪張~ 例如 秀出 AA00001930這一張

是不是 要 先暫存 所有的 發票號碼 然後 與DB讀出的資料 再比對內容~ 這個方式 ?

2 個回答

0
froce
iT邦大師 5 級 ‧ 2018-11-09 20:13:00
最佳解答

你只是要找中間是不是有漏掉的號碼吧?
虛擬碼,有用ORM的話應該很容易改:

def isInvoiceExists(invoiceNumber):
    return True if DB.filter(invoiceNumber=invoiceNumber) else False

skipedNumber = []
for i in range(950, 1950+1):
    if not isInvoiceExists("AA"+ str(i).zfill(8)):
        skipedNumber.append("AA"+ str(i).zfill(8))
vicd0130 iT邦新手 4 級 ‧ 2018-11-12 08:43:48 檢舉

感謝 大大~

0
小魚
iT邦高手 1 級 ‧ 2018-11-09 19:44:55

不完全懂,
不過你也可以一開始就把DB的資料讀到記憶體,
如果DB的資料不會一直變,
或是當他變的時候你會知道的話,
剩下的就在記憶體處理就可以了.

vicd0130 iT邦新手 4 級 ‧ 2018-11-12 08:44:10 檢舉

感謝提供想法

我要發表回答

立即登入回答