الفرق بين المراجعتين لصفحة: «Python/sqlite3/complete statement»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 51: | سطر 51: | ||
con.close() | con.close() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== مصادر == | == مصادر == | ||
[https://docs.python.org/3/library/sqlite3.html#sqlite3.complete_statement صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.] | * [https://docs.python.org/3/library/sqlite3.html#sqlite3.complete_statement صفحة DB-API 2.0 interface for SQLite databases في توثيق بايثون الرسمي.] | ||
[[تصنيف:Python]] | [[تصنيف:Python]] | ||
[[تصنيف:Python Modules]] | [[تصنيف:Python Modules]] |
المراجعة الحالية بتاريخ 16:46، 16 سبتمبر 2018
تتحقّق الدالة ممّا إذا كانت السلسلة النصية المعطاة تتضمن جملة 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()