Ich erstelle eine Bildungsplattform, auf der die Schüler SQL-Abfragen in einem Monaco-Editor für Datenbank-Aufgaben schreiben. Das System richtet ihre Einreichungen automatisch aus, indem sie die Abfrageergebnisse mit den erwarteten Ausgängen vergleichen und Markierungen entsprechend zugewiesen. Ich verwende den Knoten: SQLite oder Bun: SQLite Module für SQLite-Operationen in einem Knoten oder Bun-Umgebung, aber ich drücke bei der Ausführung und Bewertung von Multi-Statement-SQL-Querien. Hier ist ein Beispiel:
Beispielzuweisung : Erstellen Sie einen Tabellenstudent mit Fields ID , Telefon , E -Mail und Alter einfügen und 4 Zeilen einfügen und die Tabelle anfragen. class = "Lang-SQL PrettyPrint-Override">
-- Create the table
CREATE TABLE student (
id INT PRIMARY KEY,
phone VARCHAR(15),
email VARCHAR(100),
age INT
)
-- Insert 4 rows into the table
INSERT INTO student (id, phone, email, age)
VALUES
(1, '123-456-7890', 'student1@example.com', 20),
(2, '234-567-8901', 'student2@example.com', 21),
(3, '345-678-9012', 'student3@example.com', 22),
(4, '456-789-0123', 'student4@example.com', 23)
-- Query to fetch all student data
SELECT * FROM student
HINWEIS: Die Schüler sind nicht verpflichtet, Semikolons (;) Am Ende von Aussagen zu verwenden. Einstufung. Module, aber wir sind auf diese Probleme gestoßen:
EXEC () Begrenzung : Die Exec () kann mehrere Anweisungen gleichzeitig ausführen, aber keine Abfrageergebnisse zurückgeben. Für die automatische Ausbindung benötige ich die Ausgabe (z. B. aus ausgewählten Anweisungen), sodass dies nicht lebensfähig ist. Da ich keine Semikolons durchsetze, kann ich die Eingaben des Schülers nicht zuverlässig in separate Aussagen aufteilen. Es funktionierte für grundlegende Befehle (erstellen, einfügen, auswählen), unterstützt jedoch keine erweiterten Befehle wie Alter Table, wodurch es unzureichend ist. Ergebnisse : Eine Methode oder Bibliothek, die die vollständige SQL-Abfrage mit mehreren Statements ausführt und die Ergebnisse zurückgibt (z. B. die Auswahl ausgewählt). Sequentiell. Teilen Sie die SQL in eine Reihe von Aussagen auf. Es funktionierte für grundlegende Befehle (erstellen, einfügen, auswählen), unterstützt jedoch keine erweiterten Befehle wie Alter Table, wodurch es unzureichend ist.>
Ich erstelle eine Bildungsplattform, auf der die Schüler SQL-Abfragen in einem Monaco-Editor für Datenbank-Aufgaben schreiben. Das System richtet ihre Einreichungen automatisch aus, indem sie die Abfrageergebnisse mit den erwarteten Ausgängen vergleichen und Markierungen entsprechend zugewiesen. Ich verwende den Knoten: SQLite oder Bun: SQLite Module für SQLite-Operationen in einem Knoten oder Bun-Umgebung, aber ich drücke bei der Ausführung und Bewertung von Multi-Statement-SQL-Querien. Hier ist ein Beispiel: [list] [*] [b] Beispielzuweisung [/b]: Erstellen Sie einen Tabellenstudent mit Fields ID , Telefon , E -Mail und Alter einfügen und 4 Zeilen einfügen und die Tabelle anfragen. class = "Lang-SQL PrettyPrint-Override">[code]-- Create the table CREATE TABLE student ( id INT PRIMARY KEY, phone VARCHAR(15), email VARCHAR(100), age INT )
-- Query to fetch all student data SELECT * FROM student
[/code]
[/list] [b] HINWEIS: [/b] Die Schüler sind nicht verpflichtet, Semikolons (;) Am Ende von Aussagen zu verwenden. Einstufung. Module, aber wir sind auf diese Probleme gestoßen:
[b] EXEC () Begrenzung [/b]: Die Exec () kann mehrere Anweisungen gleichzeitig ausführen, aber keine Abfrageergebnisse zurückgeben. Für die automatische Ausbindung benötige ich die Ausgabe (z. B. aus ausgewählten Anweisungen), sodass dies nicht lebensfähig ist. Da ich keine Semikolons durchsetze, kann ich die Eingaben des Schülers nicht zuverlässig in separate Aussagen aufteilen. Es funktionierte für grundlegende Befehle (erstellen, einfügen, auswählen), unterstützt jedoch keine erweiterten Befehle wie Alter Table, wodurch es unzureichend ist. Ergebnisse : Eine Methode oder Bibliothek, die die vollständige SQL-Abfrage mit mehreren Statements ausführt und die Ergebnisse zurückgibt (z. B. die Auswahl ausgewählt). Sequentiell. [url=viewtopic.php?t=13628]Teilen[/url] Sie die SQL in eine Reihe von Aussagen auf. Es funktionierte für grundlegende Befehle (erstellen, einfügen, auswählen), unterstützt jedoch keine erweiterten Befehle wie Alter Table, wodurch es unzureichend ist.>
Wie in der Frage die Dokumentation auf der Microsoft Learn-Website (Zuordnung einer abfragbaren Funktion zu einer Funktion mit Tabellen) beschreibt nicht, wie Sie diese Art von Funktionen...
Wie in der Frage die Dokumentation auf der Microsoft Learn-Website (Zuordnung einer abfragbaren Funktion zu einer Funktion mit Tabellen) beschreibt nicht, wie Sie diese Art von Funktionen...
$sql =
DELETE FROM `products` WHERE id = 123456;
INSERT INTO `products` SET `name` = 'abc', `price` = 100;
DELETE FROM `survey` WHERE id = 2522;
INSERT INTO `survey` SET `survey_name` = 'bla bla',...
Das API-Dokument gibt @throws SQLException an, wenn ein Datenbankzugriffsfehler auftritt. Bedeutet das, dass Implementierungen auch prüfen könnten/sollten, ob die zugrunde liegende...
Bei meiner EF6-Nachbildung dieser exemplarischen Vorgehensweise zum Erstellen und Zugreifen auf eine SQLite-Datenbank mithilfe von System.Data.SQLite habe ich festgestellt, dass bei jedem Zugriff auf...