2017-04-08 80 views
0

此程序是一個銀行系統。它連接到一個包含客戶詳細信息和交易細節的在線數據庫。但是,當我執行代碼時,我在python 3.4.0 shell中得到空白輸出:當我執行以下代碼時,Python輸出爲空:

import pyodbc 

cnxn = pyodbc.connect('Driver={SQL Server};' 
          'Server=***;' 
          'Database=***;' 
          'uid=***;pwd=***') 
cursor = cnxn.cursor() 

def MainMenu(): 
    print('##############################\n\tWelcome to the XYZ Banking System\n##############################') 
    print() 
    print('PLEASE ENTER THE NUMBER CORRESPONDING TO YOUR DESIRED COMMAND IN THE PROMPT BELOW : \n\t1.ACCESS CUSTOMER DETAILS\n\t2.ACCESS TRANSACTION PORTAL\n##############################') 
    print() 
    var_UserInput=input('>>>') 
     if var_UserInput=='1': 
      return CustomerPortal() 

def CustomerPortal(): 
    cursor.tables() 
    rows = cursor.fetchall() 
    for row in rows: 
     print (row.customer) 

MainMenu() 
+1

您的縮進被搞砸了。該代碼根本不會運行;它會產生一個'IndentationError'。 –

+0

您是否在SO上發佈專有代碼? –

+0

@MadPhysicist一點都不。請欣賞你的關心。 – idl99

回答

1

試試這個。我做了一些改變:

下面的代碼。

import pyodbc 


def main_menu(): 
    print('##############################\n\tWelcome to the XYZ Banking System\n##############################') 
    print() 
    print('PLEASE ENTER THE NUMBER CORRESPONDING TO YOUR DESIRED COMMAND IN THE PROMPT BELOW : \n\t1.ACCESS CUSTOMER DETAILS\n\t2.ACCESS TRANSACTION PORTAL\n##############################') 
    print() 
    var_user_input=input('>>>') 
     if var_user_input=='1': 
      return customer_portal() 

def customer_portal(): 
    cnxn = pyodbc.connect('Driver={SQL Server};' 
           'Server=***;' 
           'Database=***;' 
           'uid=***;pwd=***') 
    cursor = cnxn.cursor() 
    cursor.tables() 
    rows = cursor.fetchall() 
    for row in rows: 
     print (row.customer) 
    cursor.close() 

if __name__ == "__main__": 
    main_menu() 

祝你好運!

+0

非常感謝您的反饋。這確實是縮進問題。另外我還做了一些其他修改,例如創建一個名爲Menu的類,並使用該類構造函數創建其他菜單。現在一切似乎都是爲了:-) – idl99

+0

太棒了!你能標記答案正確嗎?聽起來就像你在正確的道路上! – FlipperPA

相關問題