Changeset View
Changeset View
Standalone View
Standalone View
src/KDb.cpp
Show First 20 Lines • Show All 317 Lines • ▼ Show 20 Line(s) | 317 | { | |||
---|---|---|---|---|---|
318 | return KDbVersionInfo( | 318 | return KDbVersionInfo( | ||
319 | KDB_VERSION_MAJOR, KDB_VERSION_MINOR, KDB_VERSION_PATCH); | 319 | KDB_VERSION_MAJOR, KDB_VERSION_MINOR, KDB_VERSION_PATCH); | ||
320 | } | 320 | } | ||
321 | 321 | | |||
322 | bool KDb::deleteRecords(KDbConnection* conn, const QString &tableName, | 322 | bool KDb::deleteRecords(KDbConnection* conn, const QString &tableName, | ||
323 | const QString &keyname, KDbField::Type keytype, const QVariant &keyval) | 323 | const QString &keyname, KDbField::Type keytype, const QVariant &keyval) | ||
324 | { | 324 | { | ||
325 | Q_ASSERT(conn); | 325 | Q_ASSERT(conn); | ||
326 | return conn->executeVoidSQL(KDbEscapedString("DELETE FROM %1 WHERE %2=%3") | 326 | return conn->executeSql(KDbEscapedString("DELETE FROM %1 WHERE %2=%3") | ||
327 | .arg(conn->escapeIdentifier(tableName)) | 327 | .arg(conn->escapeIdentifier(tableName)) | ||
328 | .arg(conn->escapeIdentifier(keyname)) | 328 | .arg(conn->escapeIdentifier(keyname)) | ||
329 | .arg(conn->driver()->valueToSQL(keytype, keyval))); | 329 | .arg(conn->driver()->valueToSQL(keytype, keyval))); | ||
330 | } | 330 | } | ||
331 | 331 | | |||
332 | bool KDb::deleteRecords(KDbConnection* conn, const QString &tableName, | 332 | bool KDb::deleteRecords(KDbConnection* conn, const QString &tableName, | ||
333 | const QString &keyname1, KDbField::Type keytype1, const QVariant& keyval1, | 333 | const QString &keyname1, KDbField::Type keytype1, const QVariant& keyval1, | ||
334 | const QString &keyname2, KDbField::Type keytype2, const QVariant& keyval2) | 334 | const QString &keyname2, KDbField::Type keytype2, const QVariant& keyval2) | ||
335 | { | 335 | { | ||
336 | Q_ASSERT(conn); | 336 | Q_ASSERT(conn); | ||
337 | return conn->executeVoidSQL(KDbEscapedString("DELETE FROM %1 WHERE %2=%3 AND %4=%5") | 337 | return conn->executeSql(KDbEscapedString("DELETE FROM %1 WHERE %2=%3 AND %4=%5") | ||
338 | .arg(conn->escapeIdentifier(tableName)) | 338 | .arg(conn->escapeIdentifier(tableName)) | ||
339 | .arg(conn->escapeIdentifier(keyname1)) | 339 | .arg(conn->escapeIdentifier(keyname1)) | ||
340 | .arg(conn->driver()->valueToSQL(keytype1, keyval1)) | 340 | .arg(conn->driver()->valueToSQL(keytype1, keyval1)) | ||
341 | .arg(conn->escapeIdentifier(keyname2)) | 341 | .arg(conn->escapeIdentifier(keyname2)) | ||
342 | .arg(conn->driver()->valueToSQL(keytype2, keyval2))); | 342 | .arg(conn->driver()->valueToSQL(keytype2, keyval2))); | ||
343 | } | 343 | } | ||
344 | 344 | | |||
345 | bool KDb::deleteRecords(KDbConnection* conn, const QString &tableName, | 345 | bool KDb::deleteRecords(KDbConnection* conn, const QString &tableName, | ||
346 | const QString &keyname1, KDbField::Type keytype1, const QVariant& keyval1, | 346 | const QString &keyname1, KDbField::Type keytype1, const QVariant& keyval1, | ||
347 | const QString &keyname2, KDbField::Type keytype2, const QVariant& keyval2, | 347 | const QString &keyname2, KDbField::Type keytype2, const QVariant& keyval2, | ||
348 | const QString &keyname3, KDbField::Type keytype3, const QVariant& keyval3) | 348 | const QString &keyname3, KDbField::Type keytype3, const QVariant& keyval3) | ||
349 | { | 349 | { | ||
350 | Q_ASSERT(conn); | 350 | Q_ASSERT(conn); | ||
351 | return conn->executeVoidSQL(KDbEscapedString("DELETE FROM %1 WHERE %2=%3 AND %4=%5 AND %6=%7") | 351 | return conn->executeSql(KDbEscapedString("DELETE FROM %1 WHERE %2=%3 AND %4=%5 AND %6=%7") | ||
352 | .arg(conn->escapeIdentifier(tableName)) | 352 | .arg(conn->escapeIdentifier(tableName)) | ||
353 | .arg(conn->escapeIdentifier(keyname1)) | 353 | .arg(conn->escapeIdentifier(keyname1)) | ||
354 | .arg(conn->driver()->valueToSQL(keytype1, keyval1)) | 354 | .arg(conn->driver()->valueToSQL(keytype1, keyval1)) | ||
355 | .arg(conn->escapeIdentifier(keyname2)) | 355 | .arg(conn->escapeIdentifier(keyname2)) | ||
356 | .arg(conn->driver()->valueToSQL(keytype2, keyval2)) | 356 | .arg(conn->driver()->valueToSQL(keytype2, keyval2)) | ||
357 | .arg(conn->escapeIdentifier(keyname3)) | 357 | .arg(conn->escapeIdentifier(keyname3)) | ||
358 | .arg(conn->driver()->valueToSQL(keytype3, keyval3))); | 358 | .arg(conn->driver()->valueToSQL(keytype3, keyval3))); | ||
359 | } | 359 | } | ||
360 | 360 | | |||
361 | bool KDb::deleteAllRecords(KDbConnection* conn, const QString &tableName) | 361 | bool KDb::deleteAllRecords(KDbConnection* conn, const QString &tableName) | ||
362 | { | 362 | { | ||
363 | Q_ASSERT(conn); | 363 | Q_ASSERT(conn); | ||
364 | return conn->executeVoidSQL(KDbEscapedString("DELETE FROM %1") | 364 | return conn->executeSql(KDbEscapedString("DELETE FROM %1") | ||
365 | .arg(conn->escapeIdentifier(tableName))); | 365 | .arg(conn->escapeIdentifier(tableName))); | ||
366 | } | 366 | } | ||
367 | 367 | | |||
368 | KDB_EXPORT quint64 KDb::lastInsertedAutoIncValue(KDbSqlResult *result, | 368 | KDB_EXPORT quint64 KDb::lastInsertedAutoIncValue(QSharedPointer<KDbSqlResult> *result, | ||
369 | const QString& autoIncrementFieldName, const QString& tableName, quint64* recordId) | 369 | const QString &autoIncrementFieldName, | ||
370 | const QString &tableName, quint64 *recordId) | ||||
370 | { | 371 | { | ||
371 | Q_ASSERT(result); | 372 | Q_ASSERT(result); | ||
372 | const quint64 foundRecordId = result->lastInsertRecordId(); | 373 | const quint64 foundRecordId = (*result)->lastInsertRecordId(); | ||
373 | if (recordId) { | 374 | if (recordId) { | ||
374 | *recordId = foundRecordId; | 375 | *recordId = foundRecordId; | ||
375 | } | 376 | } | ||
376 | return KDb::lastInsertedAutoIncValue(result->connection(), | 377 | return KDb::lastInsertedAutoIncValue((*result)->connection(), | ||
377 | foundRecordId, autoIncrementFieldName, tableName); | 378 | foundRecordId, autoIncrementFieldName, tableName); | ||
378 | } | 379 | } | ||
379 | 380 | | |||
380 | KDB_EXPORT quint64 KDb::lastInsertedAutoIncValue(KDbConnection *conn, const quint64 recordId, | 381 | KDB_EXPORT quint64 KDb::lastInsertedAutoIncValue(KDbConnection *conn, const quint64 recordId, | ||
381 | const QString& autoIncrementFieldName, const QString& tableName) | 382 | const QString &autoIncrementFieldName, | ||
383 | const QString &tableName) | ||||
382 | { | 384 | { | ||
383 | const KDbDriverBehavior *behavior = KDbDriverBehavior::get(conn->driver()); | 385 | const KDbDriverBehavior *behavior = KDbDriverBehavior::get(conn->driver()); | ||
384 | if (behavior->ROW_ID_FIELD_RETURNS_LAST_AUTOINCREMENTED_VALUE) { | 386 | if (behavior->ROW_ID_FIELD_RETURNS_LAST_AUTOINCREMENTED_VALUE) { | ||
385 | return recordId; | 387 | return recordId; | ||
386 | } | 388 | } | ||
387 | KDbRecordData rdata; | 389 | KDbRecordData rdata; | ||
388 | if (recordId == std::numeric_limits<quint64>::max() | 390 | if (recordId == std::numeric_limits<quint64>::max() | ||
389 | || true != conn->querySingleRecord( | 391 | || true != conn->querySingleRecord( | ||
▲ Show 20 Lines • Show All 98 Lines • ▼ Show 20 Line(s) | 480 | { | |||
488 | if (msg->isEmpty()) | 490 | if (msg->isEmpty()) | ||
489 | *msg = QLatin1String("<p>") + result.message(); | 491 | *msg = QLatin1String("<p>") + result.message(); | ||
490 | else | 492 | else | ||
491 | *details += QLatin1String("<p>") + result.message(); | 493 | *details += QLatin1String("<p>") + result.message(); | ||
492 | 494 | | |||
493 | if (!result.serverMessage().isEmpty()) | 495 | if (!result.serverMessage().isEmpty()) | ||
494 | *details += QLatin1String("<p><b>") + kdb::tr("Message from server:") | 496 | *details += QLatin1String("<p><b>") + kdb::tr("Message from server:") | ||
495 | + QLatin1String("</b> ") + result.serverMessage(); | 497 | + QLatin1String("</b> ") + result.serverMessage(); | ||
496 | if (!result.recentSQLString().isEmpty()) | 498 | if (!result.recentSqlString().isEmpty()) | ||
497 | *details += QLatin1String("<p><b>") + kdb::tr("SQL statement:") | 499 | *details += QLatin1String("<p><b>") + kdb::tr("SQL statement:") | ||
498 | + QString::fromLatin1("</b> <tt>%1</tt>").arg(result.recentSQLString().toString()); | 500 | + QString::fromLatin1("</b> <tt>%1</tt>").arg(result.recentSqlString().toString()); | ||
499 | int serverErrorCode = 0; | 501 | int serverErrorCode = 0; | ||
500 | QString serverResultName; | 502 | QString serverResultName; | ||
501 | if (result.isError()) { | 503 | if (result.isError()) { | ||
502 | serverErrorCode = result.serverErrorCode(); | 504 | serverErrorCode = result.serverErrorCode(); | ||
503 | serverResultName = resultable.serverResultName(); | 505 | serverResultName = resultable.serverResultName(); | ||
504 | } | 506 | } | ||
505 | if ( !details->isEmpty() | 507 | if ( !details->isEmpty() | ||
506 | && ( !result.serverMessage().isEmpty() | 508 | && ( !result.serverMessage().isEmpty() | ||
507 | || !result.recentSQLString().isEmpty() | 509 | || !result.recentSqlString().isEmpty() | ||
508 | || !serverResultName.isEmpty() | 510 | || !serverResultName.isEmpty() | ||
509 | || serverErrorCode != 0) | 511 | || serverErrorCode != 0) | ||
510 | ) | 512 | ) | ||
511 | { | 513 | { | ||
512 | *details += (QLatin1String("<p><b>") + kdb::tr("Server result code:") | 514 | *details += (QLatin1String("<p><b>") + kdb::tr("Server result code:") | ||
513 | + QLatin1String("</b> ") + QString::number(serverErrorCode)); | 515 | + QLatin1String("</b> ") + QString::number(serverErrorCode)); | ||
514 | if (!serverResultName.isEmpty()) { | 516 | if (!serverResultName.isEmpty()) { | ||
515 | *details += QString::fromLatin1(" (%1)").arg(serverResultName); | 517 | *details += QString::fromLatin1(" (%1)").arg(serverResultName); | ||
▲ Show 20 Lines • Show All 1711 Lines • Show Last 20 Lines |