@@ -197,9 +197,27 @@ void resultset::getTypes()
197
197
}
198
198
199
199
msg.str (" " );
200
- msg << " INSERT INTO test(id) VALUES ('" << it->value << " ')" ;
201
- stmt->execute (msg.str ());
202
- ASSERT_EQUALS (1 , (int )stmt->getUpdateCount ());
200
+ switch (it->ctype )
201
+ {
202
+ case sql::DataType::BIT:
203
+ msg << " INSERT INTO test(id) VALUES (" << it->value << " )" ;
204
+ break ;
205
+ default :
206
+ msg << " INSERT INTO test(id) VALUES (\" " << it->value << " \" )" ;
207
+ }
208
+
209
+ try
210
+ {
211
+ stmt->execute (msg.str ());
212
+ ASSERT_EQUALS (1 , (int )stmt->getUpdateCount ());
213
+ }
214
+ catch (sql::SQLException &e)
215
+ {
216
+ logErr (e.what ());
217
+ logErr (" SQLState: " + std::string (e.getSQLState ()));
218
+ logErr (" SqlDef: " + it->sqldef );
219
+ fail (e.what (), __FILE__, __LINE__);
220
+ }
203
221
204
222
res.reset (stmt->executeQuery (" SELECT id, NULL FROM test" ));
205
223
checkResultSetScrolling (res);
@@ -633,9 +651,27 @@ void resultset::getTypesMinorIssues()
633
651
}
634
652
635
653
msg.str (" " );
636
- msg << " INSERT INTO test(id) VALUES ('" << it->value << " ')" ;
637
- stmt->execute (msg.str ());
638
- ASSERT_EQUALS (1 , (int )stmt->getUpdateCount ());
654
+ switch (it->ctype )
655
+ {
656
+ case sql::DataType::BIT:
657
+ msg << " INSERT INTO test(id) VALUES (" << it->value << " )" ;
658
+ break ;
659
+ default :
660
+ msg << " INSERT INTO test(id) VALUES (\" " << it->value << " \" )" ;
661
+ }
662
+
663
+ try
664
+ {
665
+ stmt->execute (msg.str ());
666
+ ASSERT_EQUALS (1 , (int )stmt->getUpdateCount ());
667
+ }
668
+ catch (sql::SQLException &e)
669
+ {
670
+ logErr (e.what ());
671
+ logErr (" SQLState: " + std::string (e.getSQLState ()));
672
+ logErr (" SqlDef: " + it->sqldef );
673
+ fail (e.what (), __FILE__, __LINE__);
674
+ }
639
675
640
676
res.reset (stmt->executeQuery (" SELECT id, NULL FROM test" ));
641
677
checkResultSetScrolling (res);
0 commit comments