diff --git a/src/Database/Drivers/PDO/Connection.php b/src/Database/Drivers/PDO/Connection.php index 974a84e9c..fa15f1417 100644 --- a/src/Database/Drivers/PDO/Connection.php +++ b/src/Database/Drivers/PDO/Connection.php @@ -85,7 +85,9 @@ public function query(string $sql, array $params = []): Result public function execute(string $sql): int { try { - return $this->pdo->exec($sql); + $statement = $this->pdo->prepare($sql); + $statement->execute(); + return $statement->rowCount(); } catch (PDOException $e) { throw new ($this->convertException($e, $args, null, new SqlLiteral($sql)))(...$args); } diff --git a/tests/Database/files/sqlsrv-loadFromFile.sql b/tests/Database/files/sqlsrv-loadFromFile.sql new file mode 100644 index 000000000..d4336c2a0 --- /dev/null +++ b/tests/Database/files/sqlsrv-loadFromFile.sql @@ -0,0 +1,13 @@ +IF OBJECT_ID('products', 'U') IS NOT NULL DROP TABLE products; + +CREATE TABLE products ( + product_id int NOT NULL IDENTITY(11,1), + title varchar(50) NOT NULL, + PRIMARY KEY(product_id) +); + +SET IDENTITY_INSERT products ON; +INSERT INTO products (product_id, title) VALUES (1, 'Chair'); +INSERT INTO products (product_id, title) VALUES (2, 'Table'); +INSERT INTO products (product_id, title) VALUES (3, 'Computer'); +SET IDENTITY_INSERT products OFF; diff --git a/tests/Database/sqlsrv-loadFromFile.phpt b/tests/Database/sqlsrv-loadFromFile.phpt new file mode 100644 index 000000000..2289d6fd5 --- /dev/null +++ b/tests/Database/sqlsrv-loadFromFile.phpt @@ -0,0 +1,18 @@ + Nette\Database\Helpers::loadFromFile($connection, __DIR__ . '/files/sqlsrv-loadFromFile.sql') +);