Example #1
0
        public void SubsequentDeletes()
        {
            var selectSql = "SELECT * FROM test";
            var deleteSql = "DELETE FROM test WHERE int_field = @id";

            var connection = new FbConnection(Connection.ConnectionString);
            var select     = new FbCommand(selectSql, connection);
            var delete     = new FbCommand(deleteSql, connection);

            delete.Parameters.Add("@id", FbDbType.Integer);
            delete.Parameters[0].SourceColumn = "INT_FIELD";

            var adapter = new FbDataAdapter(select);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
            adapter.DeleteCommand       = delete;

            var ds = new DataSet();

            adapter.Fill(ds);

            ds.Tables[0].Rows[0].Delete();
            adapter.Update(ds);

            ds.Tables[0].Rows[0].Delete();
            adapter.Update(ds);

            ds.Tables[0].Rows[0].Delete();
            adapter.Update(ds);
        }
Example #2
0
        public void SubsequentDeletes()
        {
            string selectSql = "SELECT * FROM test";
            string deleteSql = "DELETE FROM test WHERE int_field = @id";

            // Set up conenction and select/delete commands
            FbConnection connection = new FbConnection(this.Connection.ConnectionString);
            FbCommand    select     = new FbCommand(selectSql, connection);
            FbCommand    delete     = new FbCommand(deleteSql, connection);

            delete.Parameters.Add("@id", FbDbType.Integer);
            delete.Parameters[0].SourceColumn = "INT_FIELD";

            // Set up the FbDataAdapter
            FbDataAdapter adapter = new FbDataAdapter(select);

            adapter.DeleteCommand = delete;

            // Set up dataset
            DataSet ds = new DataSet();

            adapter.Fill(ds);

            // Delete one row
            ds.Tables[0].Rows[0].Delete();
            adapter.Update(ds);

            // Delete another row
            ds.Tables[0].Rows[0].Delete();
            adapter.Update(ds);

            // Delete another row
            ds.Tables[0].Rows[0].Delete();
            adapter.Update(ds);
        }
Example #3
0
        public async Task SubsequentDeletes()
        {
            await using (var select = new FbCommand("SELECT * FROM test", Connection))
            {
                await using (var delete = new FbCommand("DELETE FROM test WHERE int_field = @id", Connection))
                {
                    delete.Parameters.Add("@id", FbDbType.Integer);
                    delete.Parameters[0].SourceColumn = "INT_FIELD";
                    using (var adapter = new FbDataAdapter(select))
                    {
                        adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                        adapter.DeleteCommand       = delete;
                        using (var ds = new DataSet())
                        {
                            adapter.Fill(ds);

                            ds.Tables[0].Rows[0].Delete();
                            adapter.Update(ds);

                            ds.Tables[0].Rows[0].Delete();
                            adapter.Update(ds);

                            ds.Tables[0].Rows[0].Delete();
                            adapter.Update(ds);
                        }
                    }
                }
            }
        }
Example #4
0
        public async Task DeleteTest()
        {
            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("select * from TEST where int_field = @int_field", Connection, transaction))
                {
                    using (var adapter = new FbDataAdapter(command))
                    {
                        using (var builder = new FbCommandBuilder(adapter))
                        {
                            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 10;
                            using (var ds = new DataSet())
                            {
                                adapter.Fill(ds, "TEST");

                                Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

                                ds.Tables["TEST"].Rows[0].Delete();

                                adapter.Update(ds, "TEST");
                            }
                        }
                    }
                }
                await transaction.CommitAsync();
            }
        }
Example #5
0
 private void button3_Click(object sender, EventArgs e)
 {
     try{
         FbConnection     conn           = DBConnect.GetConnection();
         string           myQuery        = "SELECT * FROM TRADEMARKS";
         FbDataAdapter    emp            = new FbDataAdapter(myQuery, conn);
         FbCommandBuilder commandBuilder = new FbCommandBuilder(emp);
         emp.InsertCommand             = new FbCommand("ADD_TRADEMARKS", conn);
         emp.InsertCommand.CommandType = CommandType.StoredProcedure;
         emp.InsertCommand.Parameters.Add(new FbParameter("@INP_TRADEMARK", FbDbType.VarChar, 200, "TRADEMARK"));
         emp.InsertCommand.Parameters.Add(new FbParameter("@INP_DESCRIPTION", FbDbType.VarChar, 500, "DESCRIPTION"));
         DataSet ds = new DataSet();
         emp.Fill(ds);
         DataTable dt     = ds.Tables[0];
         DataRow   newRow = dt.NewRow();
         newRow["TRADEMARK"]   = textBox2.Text;
         newRow["DESCRIPTION"] = textBox3.Text;
         dt.Rows.Add(newRow);
         emp.Update(ds);
         ds.AcceptChanges();
         MessageBox.Show("Рядок було зареєстровано в базі даних");
     }
     catch (Exception ec) {
         MessageBox.Show("Виняток: " + ec.Message);//Exception
     }
 }
Example #6
0
        public void UpdateClobTest()
        {
            string        sql         = "select * from TEST where int_field = @int_field";
            FbTransaction transaction = this.Connection.BeginTransaction();
            FbCommand     command     = new FbCommand(sql, Connection, transaction);
            FbDataAdapter adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            FbCommandBuilder builder = new FbCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["CLOB_FIELD"] = "ONE THOUSAND";

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();
            transaction.Commit();
        }
Example #7
0
        public void DeleteTest()
        {
            var sql         = "select * from TEST where int_field = @int_field";
            var transaction = Connection.BeginTransaction();
            var command     = new FbCommand(sql, Connection, transaction);
            var adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 10;

            var builder = new FbCommandBuilder(adapter);

            var ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0].Delete();

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();
            transaction.Commit();
        }
Example #8
0
        public void SetCommand(string sql, FbConnection con)
        {
            FbDataAdapter adapter = new FbDataAdapter(sql, con);
            DataSet       ds      = new DataSet();

            adapter.Fill(ds);
            FbCommandBuilder cb  = new FbCommandBuilder(adapter);
            FbCommand        cmd = cb.GetUpdateCommand();

            adapter.Update(ds);
        }
Example #9
0
 public void UpdateFbDA(DataSet ds, string tableName)
 {
     try {
         openConnection();
         FbDA.Update(ds, tableName);
     } catch (Exception ex) {
         Console.Out.WriteLine(ex.Message);
     } finally {
         closeConnection();
     }
 }
Example #10
0
        public bool UpdateDB(DataTable table)
        {
            FbCommandBuilder commandBuilder = new FbCommandBuilder(adapter);

            try
            {
                adapter.Update(table);
                return(true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(Unicode(ex.Message), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
                return(false);
            }
        }
Example #11
0
        public void UpdateTimeStampTest()
        {
            var sql         = "select * from TEST where int_field = @int_field";
            var transaction = Connection.BeginTransaction();
            var command     = new FbCommand(sql, Connection, transaction);
            var adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            var builder = new FbCommandBuilder(adapter);

            var ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            var dtValue = DateTime.Now;

            ds.Tables["TEST"].Rows[0]["TIMESTAMP_FIELD"] = dtValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT timestamp_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            var val = (DateTime)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(dtValue.Day, val.Day, "timestamp_field has not correct day");
            Assert.AreEqual(dtValue.Month, val.Month, "timestamp_field has not correct month");
            Assert.AreEqual(dtValue.Year, val.Year, "timestamp_field has not correct year");
            Assert.AreEqual(dtValue.Hour, val.Hour, "timestamp_field has not correct hour");
            Assert.AreEqual(dtValue.Minute, val.Minute, "timestamp_field has not correct minute");
            Assert.AreEqual(dtValue.Second, val.Second, "timestamp_field has not correct second");
        }
Example #12
0
        public override bool InsUpdRowDataTable(DataTable tbl, DataRowView row, String ins_SQL, String upd_SQL,
                                                String[] fields)
        {
            bool res = false;

            if (tbl != null && row != null && ins_SQL != String.Empty && upd_SQL != String.Empty && fields != null)
            {
                using (FbCommand ins_cmd = new FbCommand(ins_SQL, db), upd_cmd = new FbCommand(upd_SQL, db))
                {
                    using (FbDataAdapter ad = new FbDataAdapter())
                    {
                        ad.InsertCommand = ins_cmd;
                        ad.UpdateCommand = upd_cmd;
                        for (int i = 0; i < fields.Length; i++)
                        {
                            ad.InsertCommand.Parameters.AddWithValue("@" + fields[i], row[fields[i]]);
                            ad.UpdateCommand.Parameters.AddWithValue("@" + fields[i], row[fields[i]]);
                        }
                        ad.Update(tbl);
                    }
                    res = true;
                }
            }
            else
            {
                if (tbl != null)
                {
                    throw new Exception(DM.errInfo[2]);
                }
                if (row != null)
                {
                    throw new Exception(DM.errInfo[3]);
                }
                if (ins_SQL == String.Empty)
                {
                    throw new Exception(DM.errInfo[0] + " (добавление данных)");
                }
                if (upd_SQL == String.Empty)
                {
                    throw new Exception(DM.errInfo[0] + " (обновление данных)");
                }
                if (fields != null)
                {
                    throw new Exception(DM.errInfo[4]);
                }
            }
            return(res);
        }
Example #13
0
        public async Task UpdateDateTest()
        {
            var dtValue = DateTime.Now;

            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("select * from TEST where int_field = @int_field", Connection, transaction))
                {
                    using (var adapter = new FbDataAdapter(command))
                    {
                        using (var builder = new FbCommandBuilder(adapter))
                        {
                            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                            using (var ds = new DataSet())
                            {
                                adapter.Fill(ds, "TEST");

                                Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");


                                ds.Tables["TEST"].Rows[0]["DATE_FIELD"] = dtValue;

                                adapter.Update(ds, "TEST");
                            }
                        }
                    }
                }
                await transaction.CommitAsync();
            }

            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("SELECT date_field FROM TEST WHERE int_field = @int_field", Connection, transaction))
                {
                    command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                    var val = (DateTime)await command.ExecuteScalarAsync();

                    Assert.AreEqual(dtValue.Day, val.Day, "date_field has not correct day");
                    Assert.AreEqual(dtValue.Month, val.Month, "date_field has not correct month");
                    Assert.AreEqual(dtValue.Year, val.Year, "date_field has not correct year");
                }
                await transaction.CommitAsync();
            }
        }
Example #14
0
        public async Task UpdateTimeTest()
        {
            var dtValue = new TimeSpan(5, 6, 7);

            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("select * from TEST where int_field = @int_field", Connection, transaction))
                {
                    using (var adapter = new FbDataAdapter(command))
                    {
                        using (var builder = new FbCommandBuilder(adapter))
                        {
                            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                            using (var ds = new DataSet())
                            {
                                adapter.Fill(ds, "TEST");

                                Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");


                                ds.Tables["TEST"].Rows[0]["TIME_FIELD"] = dtValue;

                                adapter.Update(ds, "TEST");
                            }
                        }
                    }
                }
                await transaction.CommitAsync();
            }

            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("SELECT time_field FROM TEST WHERE int_field = @int_field", Connection, transaction))
                {
                    command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                    var val = (TimeSpan)await command.ExecuteScalarAsync();

                    Assert.AreEqual(dtValue.Hours, val.Hours, "time_field has not correct hour");
                    Assert.AreEqual(dtValue.Minutes, val.Minutes, "time_field has not correct minute");
                    Assert.AreEqual(dtValue.Seconds, val.Seconds, "time_field has not correct second");
                }
                await transaction.CommitAsync();
            }
        }
Example #15
0
        public void UpdateDateTest()
        {
            string        sql         = "select * from TEST where int_field = @int_field";
            FbTransaction transaction = this.Connection.BeginTransaction();
            FbCommand     command     = new FbCommand(sql, Connection, transaction);
            FbDataAdapter adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            FbCommandBuilder builder = new FbCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            DateTime dtValue = DateTime.Now;

            ds.Tables["TEST"].Rows[0]["DATE_FIELD"] = dtValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT date_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            DateTime val = (DateTime)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(dtValue.Day, val.Day, "date_field has not correct day");
            Assert.AreEqual(dtValue.Month, val.Month, "date_field has not correct month");
            Assert.AreEqual(dtValue.Year, val.Year, "date_field has not correct year");
        }
Example #16
0
        public void UpdateTimeTest()
        {
            string        sql         = "select * from TEST where int_field = @int_field";
            FbTransaction transaction = this.Connection.BeginTransaction();
            FbCommand     command     = new FbCommand(sql, Connection, transaction);
            FbDataAdapter adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            FbCommandBuilder builder = new FbCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            TimeSpan dtValue = new TimeSpan(5, 6, 7);

            ds.Tables["TEST"].Rows[0]["TIME_FIELD"] = dtValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT time_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            TimeSpan val = (TimeSpan)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(dtValue.Hours, val.Hours, "time_field has not correct hour");
            Assert.AreEqual(dtValue.Minutes, val.Minutes, "time_field has not correct minute");
            Assert.AreEqual(dtValue.Seconds, val.Seconds, "time_field has not correct second");
        }
Example #17
0
        public async Task InsertTest()
        {
            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("select * from TEST", Connection, transaction))
                {
                    using (var adapter = new FbDataAdapter(command))
                    {
                        using (var builder = new FbCommandBuilder(adapter))
                        {
                            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                            using (var ds = new DataSet())
                            {
                                adapter.Fill(ds, "TEST");

                                Assert.AreEqual(100, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

                                var newRow = ds.Tables["TEST"].NewRow();

                                newRow["int_field"]       = 101;
                                newRow["CHAR_FIELD"]      = "ONE THOUSAND";
                                newRow["VARCHAR_FIELD"]   = ":;,.{}`+^*[]\\!|@#$%&/()?_-<>";
                                newRow["BIGint_field"]    = 100000;
                                newRow["SMALLint_field"]  = 100;
                                newRow["DOUBLE_FIELD"]    = 100.01;
                                newRow["NUMERIC_FIELD"]   = 100.01;
                                newRow["DECIMAL_FIELD"]   = 100.01;
                                newRow["DATE_FIELD"]      = new DateTime(100, 10, 10);
                                newRow["TIME_FIELD"]      = new TimeSpan(10, 10, 10);
                                newRow["TIMESTAMP_FIELD"] = new DateTime(100, 10, 10, 10, 10, 10, 10);
                                newRow["CLOB_FIELD"]      = "ONE THOUSAND";

                                ds.Tables["TEST"].Rows.Add(newRow);

                                adapter.Update(ds, "TEST");
                            }
                        }
                    }
                }
                await transaction.CommitAsync();
            }
        }
Example #18
0
        public override bool DelRowDataTable(DataTable tbl, DataRowView row, String del_SQL, String[] fields)
        {
            bool res = false;

            if (tbl != null && row != null && del_SQL != String.Empty && fields != null)
            {
                using (FbCommand del_cmd = new FbCommand(del_SQL, db))
                {
                    using (FbDataAdapter ad = new FbDataAdapter())
                    {
                        ad.DeleteCommand = del_cmd;
                        for (int i = 0; i < fields.Length; i++)
                        {
                            ad.DeleteCommand.Parameters.AddWithValue("@" + fields[i], row[fields[i]]);
                        }
                        ad.Update(tbl);
                    }
                }
                res = true;
            }
            else
            {
                if (tbl != null)
                {
                    throw new Exception(DM.errInfo[2]);
                }
                if (row != null)
                {
                    throw new Exception(DM.errInfo[3]);
                }
                if (del_SQL == String.Empty)
                {
                    throw new Exception(DM.errInfo[0] + " (удаление данных)");
                }
                if (fields != null)
                {
                    throw new Exception(DM.errInfo[4]);
                }
            }
            return(res);
        }
Example #19
0
        public void UpdateDecimalTest()
        {
            var sql         = "select * from TEST where int_field = @int_field";
            var transaction = Connection.BeginTransaction();
            var command     = new FbCommand(sql, Connection, transaction);
            var adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            var builder = new FbCommandBuilder(adapter);

            var ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["DECIMAL_FIELD"] = System.Int32.MaxValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT decimal_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            var val = (decimal)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(System.Int32.MaxValue, val, "decimal_field has not correct value");
        }
Example #20
0
        public void UpdateVarCharTest()
        {
            var sql         = "select * from TEST where int_field = @int_field";
            var transaction = Connection.BeginTransaction();
            var command     = new FbCommand(sql, Connection, transaction);
            var adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            var builder = new FbCommandBuilder(adapter);

            var ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["VARCHAR_FIELD"] = "ONE VAR THOUSAND";

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT varchar_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            var val = (string)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual("ONE VAR THOUSAND", val.Trim(), "varchar_field has not correct value");
        }
Example #21
0
        public void UpdateFloatTest()
        {
            string        sql         = "select * from TEST where int_field = @int_field";
            FbTransaction transaction = this.Connection.BeginTransaction();
            FbCommand     command     = new FbCommand(sql, Connection, transaction);
            FbDataAdapter adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            FbCommandBuilder builder = new FbCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["FLOAT_FIELD"] = (float)100.20;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT float_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            float val = (float)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual((float)100.20, val, "double_field has not correct value");
        }
Example #22
0
        public void UpdateSmallIntTest()
        {
            string        sql         = "select * from TEST where int_field = @int_field";
            FbTransaction transaction = Connection.BeginTransaction();
            FbCommand     command     = new FbCommand(sql, Connection, transaction);
            FbDataAdapter adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            FbCommandBuilder builder = new FbCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["SMALLint_field"] = System.Int16.MaxValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT smallint_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            short val = (short)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(System.Int16.MaxValue, val, "smallint_field has not correct value");
        }
Example #23
0
        public void InsertTest()
        {
            FbTransaction transaction = this.Connection.BeginTransaction();
            FbCommand     command     = new FbCommand("select * from TEST", Connection, transaction);
            FbDataAdapter adapter     = new FbDataAdapter(command);

            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

            FbCommandBuilder builder = new FbCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(100, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            DataRow newRow = ds.Tables["TEST"].NewRow();

            newRow["int_field"]       = 101;
            newRow["CHAR_FIELD"]      = "ONE THOUSAND";
            newRow["VARCHAR_FIELD"]   = ":;,.{}`+^*[]\\!|@#$%&/()?_-<>";
            newRow["BIGint_field"]    = 100000;
            newRow["SMALLint_field"]  = 100;
            newRow["DOUBLE_FIELD"]    = 100.01;
            newRow["NUMERIC_FIELD"]   = 100.01;
            newRow["DECIMAL_FIELD"]   = 100.01;
            newRow["DATE_FIELD"]      = new DateTime(100, 10, 10);
            newRow["TIME_FIELD"]      = new TimeSpan(10, 10, 10);
            newRow["TIMESTAMP_FIELD"] = new DateTime(100, 10, 10, 10, 10, 10, 10);
            newRow["CLOB_FIELD"]      = "ONE THOUSAND";

            ds.Tables["TEST"].Rows.Add(newRow);

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();
            transaction.Commit();
        }
Example #24
0
        public async Task UpdateVarCharTest()
        {
            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("select * from TEST where int_field = @int_field", Connection, transaction))
                {
                    using (var adapter = new FbDataAdapter(command))
                    {
                        using (var builder = new FbCommandBuilder(adapter))
                        {
                            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                            using (var ds = new DataSet())
                            {
                                adapter.Fill(ds, "TEST");

                                Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

                                ds.Tables["TEST"].Rows[0]["VARCHAR_FIELD"] = "ONE VAR THOUSAND";

                                adapter.Update(ds, "TEST");
                            }
                        }
                    }
                }
                await transaction.CommitAsync();
            }

            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("SELECT varchar_field FROM TEST WHERE int_field = @int_field", Connection, transaction))
                {
                    command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                    var val = (string)await command.ExecuteScalarAsync();

                    Assert.AreEqual("ONE VAR THOUSAND", val.Trim(), "varchar_field has not correct value");
                }
                await transaction.CommitAsync();
            }
        }
Example #25
0
        public async Task UpdateDecimalTest()
        {
            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("select * from TEST where int_field = @int_field", Connection, transaction))
                {
                    using (var adapter = new FbDataAdapter(command))
                    {
                        using (var builder = new FbCommandBuilder(adapter))
                        {
                            adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                            using (var ds = new DataSet())
                            {
                                adapter.Fill(ds, "TEST");

                                Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

                                ds.Tables["TEST"].Rows[0]["DECIMAL_FIELD"] = int.MaxValue;

                                adapter.Update(ds, "TEST");
                            }
                        }
                    }
                }
                await transaction.CommitAsync();
            }

            await using (var transaction = await Connection.BeginTransactionAsync())
            {
                await using (var command = new FbCommand("SELECT decimal_field FROM TEST WHERE int_field = @int_field", Connection, transaction))
                {
                    command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;
                    var val = (decimal)await command.ExecuteScalarAsync();

                    Assert.AreEqual(int.MaxValue, val, "decimal_field has not correct value");
                }
                await transaction.CommitAsync();
            }
        }
Example #26
0
        public void UpdateNumericTest()
        {
            string        sql         = "select * from TEST where int_field = @int_field";
            FbTransaction transaction = this.Connection.BeginTransaction();
            FbCommand     command     = new FbCommand(sql, Connection, transaction);
            FbDataAdapter adapter     = new FbDataAdapter(command);

            adapter.SelectCommand.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            FbCommandBuilder builder = new FbCommandBuilder(adapter);

            DataSet ds = new DataSet();

            adapter.Fill(ds, "TEST");

            Assert.AreEqual(1, ds.Tables["TEST"].Rows.Count, "Incorrect row count");

            ds.Tables["TEST"].Rows[0]["NUMERIC_FIELD"] = System.Int32.MaxValue;

            adapter.Update(ds, "TEST");

            adapter.Dispose();
            builder.Dispose();
            command.Dispose();

            transaction.Commit();

            transaction = Connection.BeginTransaction();

            sql     = "SELECT numeric_field FROM TEST WHERE int_field = @int_field";
            command = new FbCommand(sql, Connection, transaction);
            command.Parameters.Add("@int_field", FbDbType.Integer).Value = 1;

            decimal val = (decimal)command.ExecuteScalar();

            transaction.Commit();

            Assert.AreEqual(System.Int32.MaxValue, val, "numeric_field has not correct value");
        }
Example #27
0
        private void button2_Click(object sender, EventArgs e)
        {
            FbConnection conn = DBConnect.GetConnection();

            string           myQuery        = "SELECT * FROM TABLE_2";
            FbDataAdapter    emp            = new FbDataAdapter(myQuery, conn);
            FbCommandBuilder commandBuilder = new FbCommandBuilder(emp);

            emp.InsertCommand             = new FbCommand("ADDRECORD2", conn);
            emp.InsertCommand.CommandType = CommandType.StoredProcedure;
            emp.InsertCommand.Parameters.Add(new FbParameter("@INPTEXT", FbDbType.VarChar, 50, "text"));
            emp.InsertCommand.Parameters.Add(new FbParameter("@INPVALUE", FbDbType.Integer, 50, "value"));
            DataSet ds = new DataSet();

            emp.Fill(ds);
            DataTable dt     = ds.Tables[0];
            DataRow   newRow = dt.NewRow();

            newRow["text"]  = textBox2.Text;
            newRow["value"] = textBox3.Text;
            dt.Rows.Add(newRow);
            emp.Update(ds);
            ds.AcceptChanges();
        }
Example #28
0
 public void ApplyUpdates()
 {
     ida.Update(dsGrid, nomePreencherTabela);
 }
Example #29
0
        private void hsSaveDataset_Click(object sender, EventArgs e)
        {
            try
            {
                DataSet dsUpdate  = dataSet1.GetChanges(DataRowState.Modified);
                DataSet dsInsert  = dataSet1.GetChanges(DataRowState.Added);
                DataSet dsDeleted = dataSet1.GetChanges(DataRowState.Deleted);
                string  constr    = ConnectionStrings.Instance().MakeConnectionString(_dbReg);
                var     cn        = new FbConnection(constr);
                string  cm1       = _cmd;
                var     da        = new FbDataAdapter(cm1, cn);
                var     cb        = new FbCommandBuilder(da);

                da.AcceptChangesDuringUpdate = true;
                if (dsUpdate != null)
                {
                    var fc = cb.GetUpdateCommand();
                    da.UpdateCommand = fc;
                    if (dsUpdate.Tables[0].Rows.Count > 0)
                    {
                        _localNotifies?.AddToINFO($@"Table {dsUpdate.Tables[0].TableName} updated {dsUpdate.Tables[0].Rows.Count} records affected");
                        da.Update(dsUpdate);
                    }
                }
                if (dsInsert != null)
                {
                    var fi = cb.GetInsertCommand();
                    da.InsertCommand = fi;
                    _localNotifies?.AddToINFO($@"Table {dsInsert.Tables[0].TableName} added {dsInsert.Tables[0].Rows.Count} records affected");
                    da.Update(dsInsert);
                }
                if (dsDeleted != null)
                {
                    var fd = cb.GetDeleteCommand();
                    da.DeleteCommand = fd;
                    if (dsDeleted.Tables[0].Rows.Count > 0)
                    {
                        _localNotifies?.AddToINFO($@"Table {dsDeleted.Tables[0].TableName} deleted {dsDeleted.Tables[0].Rows.Count} records affected");
                        da.Update(dsDeleted);
                    }
                }
            }
            catch (Exception ex)
            {
                var sb = new StringBuilder();
                sb.AppendLine("Views und Tabels ohne Primary Key können nicht editiert werden.");
                sb.AppendLine(ex.Message);
                MessageBox.Show(sb.ToString(), "Dataset Update failed");
                //NotifiesClass.Instance().AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"{Name}-> Savedataset_Click()", ex));
                _localNotifies?.AddToERROR(sb.ToString());
            }
            bindingSource1.DataMember = null;
            var ri = RunSQL(_history);

            _cmd = ri.lastSQL;
            if (ri.lastCommandType != SQLCommandType.@select)
            {
                return;
            }
            //ClearDataGrid();
            RefreshPLAN();
        }