الدالة sqlite3.complete_statement()
في بايثون
تتحقّق الدالة ممّا إذا كانت السلسلة النصية المعطاة تتضمن جملة SQL واحدة أو أكثر تنتهي بالفاصلة المنقوطة.
البنية العامة
sqlite3.complete_statement(sql)
المعاملات
sql
سلسلة نصية تتضمن جملة SQL المراد التحقق ممّا إذا كانت تنتهي بفاصلة منقوطة أو لا.
القيمة المعادة
تعيد الدالة القيمة True
إن كانت السلسلة النصية المعطاة تتضمن جملة SQL واحدة أو أكثر تنتهي بالفاصلة المنقوطة.
أمثلة
يمكن استخدام هذه الدالة لتوفير طبقة حماية لقاعدة بيانات SQLite، وكما هو موضح في المثال التالي:
import sqlite3
con = sqlite3.connect(":memory:")
con.isolation_level = None
cur = con.cursor()
buffer = ""
print("Enter your SQL commands to execute in sqlite3.")
print("Enter a blank line to exit.")
while True:
line = input()
if line == "":
break
buffer += line
if sqlite3.complete_statement(buffer):
try:
buffer = buffer.strip()
cur.execute(buffer)
if buffer.lstrip().upper().startswith("SELECT"):
print(cur.fetchall())
except sqlite3.Error as e:
print("An error occurred:", e.args[0])
buffer = ""
con.close()