ป้อนข้อมูลไปแล้วแต่โปรแกรมไม่ส่งค่าไปครับ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: ป้อนข้อมูลไปแล้วแต่โปรแกรมไม่ส่งค่าไปครับ

Re: ป้อนข้อมูลไปแล้วแต่โปรแกรมไม่ส่งค่าไปครับ

โดย tatiya » 17/05/2019 1:50 pm

เงื่อนไขว่า

โค้ด: เลือกทั้งหมด

if name == 'esc' or lastname == 'esc' or color == 'esc':
แปลว่าถ้าไม่พิมพ์ esc มันจะไม่ไปทำงาน ในนั้น

Re: ป้อนข้อมูลไปแล้วแต่โปรแกรมไม่ส่งค่าไปครับ

โดย teenproza7 » 17/05/2019 12:01 pm

เพิ่มเติม

ถ้า ขยับ try มาข้างหน้า 1 ขยับออกมาเท่า if

รูปภาพ

ผลที่ได้

รูปภาพ

ป้อนข้อมูลไปแล้วแต่โปรแกรมไม่ส่งค่าไปครับ

โดย teenproza7 » 17/05/2019 11:54 am

ผมทำการรัน โปรแกรมแล้วป้อนข้อมูลจากภายนอกเข้าไป

เมื่อสั่งออกloop โปรแกรมไม่ส่งค่าไปยัง database ครับ

รูปภาพ

โค้ด

โค้ด: เลือกทั้งหมด

# -*- coding: utf-8 -*-
# encoding=utf8
import psycopg2 as n

try:
    con = n.connect(host='localhost', user='postgres', password='', port='5432', database='testDB')
    cur = con.cursor()

    loop = 1;
    while loop == 1:
        name = raw_input('input your first name ')
        lastname = raw_input('input your last name ')
        color = raw_input('input your color ')
        if name == 'esc' or lastname == 'esc' or color == 'esc':
            loop = 0
            continue

            sql = "INSERT INTO 'test_python' ('id', 'name_first', 'name_last', 'favorite_color' ) \
                                VALUES (NULL, '%s ','%s', '%s') " \
                  % (name, lastname, color)
            sql = sql.encode('utf-8')

            try:
                cur.execute(sql)
                con.commit()
                print ('เพิ่มข้อมูล เรียบร้อยแล้ว')
            except:
                con.rollback()
                print('เพิ่มข้อมูล ผิดพลาด')

except n.DatabaseError:
    print ('Error %s' % n.DatabaseError)

if con:
    con.close()

ข้างบน