VTK/Examples/Cxx/Databases/SQL/MySQL/WriteToDatabase

From KitwarePublic

Jump to: navigation, search

WriteToDatabase.cxx

#include <vtkSmartPointer.h>
#include <vtkMySQLDatabase.h>
#include <vtkSQLQuery.h>
#include <vtkVariant.h>
 
int main(int, char *[])
{
  // url syntax:
  // mysql://'[[username[':'password]'@']hostname[':'port]]'/'[dbname]
 
  vtkSmartPointer<vtkMySQLDatabase> db =
    vtkSmartPointer<vtkMySQLDatabase>::Take(vtkMySQLDatabase::SafeDownCast(
            vtkSQLDatabase::CreateFromURL( "mysql://root@localhost/TestDatabase" ) ));
 
  bool status = db->Open();
 
  std::cout << "Database open? " << status << std::endl;
 
  if(!status)
    {
    return EXIT_FAILURE;
    }
 
  vtkSmartPointer<vtkSQLQuery> query =
    vtkSmartPointer<vtkSQLQuery>::Take(db->GetQueryInstance());
 
  std::string createQuery( "INSERT INTO TestTable (PointId) VALUES(8)");
  std::cout << createQuery << std::endl;
  query->SetQuery( createQuery.c_str() );
  query->Execute();
 
  return EXIT_SUCCESS;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.6)
 
PROJECT(WriteToDatabase)
 
FIND_PACKAGE(VTK REQUIRED)
INCLUDE(${VTK_USE_FILE})
 
ADD_EXECUTABLE(WriteToDatabase WriteToDatabase.cxx)
TARGET_LINK_LIBRARIES(WriteToDatabase vtkHybrid)
Personal tools