โดย prakon » 10/07/2018 7:00 pm
ใช้ภาษา python เชื่อมต่อกับฐานข้อมูล PostgreSQL แล้วไม่สามารถอัพข้อมูลขึ้นตารางได้บางส่วน
ตอนนี้ผมได้ทำการใช้ ภาษาไพธอน เชื่อมต่อกับฐานข้อมูล PostgreSQL แต่ว่ามีปัญหานิดนึงครับคือ ชุดข้อมุลที่อัพขึ้นตารางในฐานข้อมูลไม่สามารถอัพขึ้นได้บางส่วนครับ ผมใช้ pycharm editor ในการเขียนโปรแกรม และ โปรแกรมการจัดการฐานข้อมูลใช้ pgAdmin 4
อันนี้เป็นโค้ดที่เขียนนะครับ ไมีมี error ใดๆเกิดขึ้น
โค้ด: เลือกทั้งหมด
import psycopg2 as p
con = None
try:
#connect database
con = p.connect(database='******', user='**********', password='*********')
cur = con.cursor()
loop = 1
while loop==1 :
name = input("ใส่ชื่อคุณ:")
lastname = input("ใส่ชื่อคุณ:")
color = input("ใส่สีของคุณ:")
if name=="esc" or lastname == "esc" or color == "esc":
loop = 0
continue
sql = "INSERT INTO test_python (name_first, name_last, favorite_color)\
VALUES('%s','%s','%s')" %(name,lastname,color)
sql.encode('utf-8')
try:
con.commit()
cur.execute(sql)
print("%s %s %s" % (name, lastname, color))
print("เพิ่มข้อมูลรียบร ้อยแล้ว")
except con.rollback:
print ('เพิ่มข้อมูลไม่ได้')
except p.DatabaseError:
print ('ต่อฐานข้อมูลไม่ได้')
if con:
con.close()
ผลการรันโค้ดนะครับจะเห็นได้ว่าใส่ข้อมูลไป 3 ชุด คือ 111 222 333
- resul2t_600x211.jpg (22.69 KiB) Viewed 1589 times
แต่เวลาอัพขึ้นข้อมูลเหลือแค่ 2 ชุด คือ 111 222
- up to database2_239x600.jpg (29.71 KiB) Viewed 1589 times
ต้องการทราบว่า จะทำอย่างไรให้ ข้อมูลทุกชุดที่อัพขึ้นมา อยู่ในตาราง
[color=#00BF00]ใช้ภาษา python เชื่อมต่อกับฐานข้อมูล PostgreSQL แล้วไม่สามารถอัพข้อมูลขึ้นตารางได้บางส่วน[/color]
ตอนนี้ผมได้ทำการใช้ ภาษาไพธอน เชื่อมต่อกับฐานข้อมูล PostgreSQL แต่ว่ามีปัญหานิดนึงครับคือ ชุดข้อมุลที่อัพขึ้นตารางในฐานข้อมูลไม่สามารถอัพขึ้นได้บางส่วนครับ ผมใช้ pycharm editor ในการเขียนโปรแกรม และ โปรแกรมการจัดการฐานข้อมูลใช้ pgAdmin 4
อันนี้เป็นโค้ดที่เขียนนะครับ ไมีมี error ใดๆเกิดขึ้น
[code]import psycopg2 as p
con = None
try:
#connect database
con = p.connect(database='******', user='**********', password='*********')
cur = con.cursor()
loop = 1
while loop==1 :
name = input("ใส่ชื่อคุณ:")
lastname = input("ใส่ชื่อคุณ:")
color = input("ใส่สีของคุณ:")
if name=="esc" or lastname == "esc" or color == "esc":
loop = 0
continue
sql = "INSERT INTO test_python (name_first, name_last, favorite_color)\
VALUES('%s','%s','%s')" %(name,lastname,color)
sql.encode('utf-8')
try:
con.commit()
cur.execute(sql)
print("%s %s %s" % (name, lastname, color))
print("เพิ่มข้อมูลรียบร ้อยแล้ว")
except con.rollback:
print ('เพิ่มข้อมูลไม่ได้')
except p.DatabaseError:
print ('ต่อฐานข้อมูลไม่ได้')
if con:
con.close()[/code]
ผลการรันโค้ดนะครับจะเห็นได้ว่าใส่ข้อมูลไป 3 ชุด คือ 111 222 333
[attachment=0]up to database2_239x600.jpg[/attachment]
แต่เวลาอัพขึ้นข้อมูลเหลือแค่ 2 ชุด คือ 111 222
[attachment=1]resul2t_600x211.jpg[/attachment]
[color=#FF0000]ต้องการทราบว่า จะทำอย่างไรให้ ข้อมูลทุกชุดที่อัพขึ้นมา อยู่ในตาราง[/color]