예제 #1
0
        public void CanExecuteNonQueryWithDbCommand()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    string    insertionString  = @"insert into TestTable values (5, 'Cinco')";
                    DbCommand insertionCommand = new SqlCeCommand();
                    insertionCommand.CommandText = insertionString;

                    database.ExecuteNonQuery(insertionCommand);

                    string countCommand = @"select count(*) from TestTable";
                    int    count        = Convert.ToInt32(database.ExecuteScalar(countCommand));

                    string    cleanupString  = "delete from TestTable where TestColumn = 5";
                    DbCommand cleanupCommand = new SqlCeCommand();
                    cleanupCommand.CommandText = cleanupString;

                    int rowsAffected = database.ExecuteNonQuery(cleanupCommand);

                    Assert.AreEqual(5, count);
                    Assert.AreEqual(1, rowsAffected);
                }
            }
        }
예제 #2
0
        public void WhatGetsReturnedWhenWeDoAnInsertThroughDbCommandExecute()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                int         count  = -1;
                IDataReader reader = null;

                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    try
                    {
                        string insertString = @"insert into TestTable values (5, 'Cinco')";

                        reader = database.ExecuteReader(insertString);
                        count  = reader.RecordsAffected;
                    }
                    finally
                    {
                        if (reader != null)
                        {
                            reader.Close();
                        }

                        string deleteString = "Delete from TestTable where TestColumn = 5";
                        database.ExecuteNonQuery(deleteString);
                    }

                    Assert.AreEqual(1, count);
                }
            }
        }
예제 #3
0
 public void ExecuteNonQueryThrowsIfNullQueryIsPassed()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             Assert.AreEqual(1, database.ExecuteNonQuery((string)null, null));
         }
     }
 }
예제 #4
0
 public void ExecuteNonQueryWithNullStringThrows()
 {
     using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
     {
         using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
         {
             database.ExecuteNonQuery((String)null);
         }
     }
 }
예제 #5
0
        public void CanInsertNullStringParameter()
        {
            using (TestResourceFile dbFile = new TestResourceFile(this, "Datastore.sdf"))
            {
                using (SmartClientDatabase database = DatabaseFactory.CreateDatabase() as SmartClientDatabase)
                {
                    string        sqlString  = "insert into TestTable Values (@Param1, @Param2)";
                    DbParameter[] parameters = new DbParameter[]
                    {
                        database.CreateParameter("@Param1", DbType.Int32, 0, 5),
                        database.CreateParameter("@Param2", DbType.String, 50, null)
                    };

                    database.ExecuteNonQuery(sqlString, parameters);

                    string sqlCount = "SELECT COUNT(*) FROM TestTable ";

                    Assert.AreEqual(5, database.ExecuteScalar(sqlCount, null));
                }
            }
        }