Пример #1
0
        public void searchbyid(string id)
        {
            //CacheCommand cc;
            //CacheDataReader cr;
            IRISCommand    ic;
            IRISDataReader ir;

            try
            {
                //cc = new CacheCommand("Select AID, ACITY, ANAME, ABTHDAY, ASTREET , APHHOME , APHWORK, AAGE, AZIP from ADBK WHERE AID = ?", adbksrc.conn);
                ic = new IRISCommand("Select AID, ACITY, ANAME, ABTHDAY, ASTREET , APHHOME , APHWORK, AAGE, AZIP from ADBK WHERE AID = ?", adbksrc.conn);

                //CacheParameter cp = new CacheParameter("id", CacheDbType.NVarChar);
                IRISParameter ip = new IRISParameter("id", IRISDbType.NVarChar);
                //cp.Value = id;
                //cc.Parameters.Add(cp);
                //cr = cc.ExecuteReader();
                //updatedatamodel(cr);

                ip.Value = id;
                ic.Parameters.Add(ip);
                ir = ic.ExecuteReader();
                updatedatamodel(ir);
            }
            catch (Exception err)
            {
                MessageBox.Show("seachbyid エラー " + err.Message);
            }
        }
Пример #2
0
        public List <string> searchbyname(string name)
        {
            idlist.Clear();
            List <string> anamelist = new List <string>();
            //CacheCommand cc = User.ADBK.ByName(adbksrc.conn);
            //CacheParameter cp = new CacheParameter("Name", CacheDbType.NVarChar);
            //cp.Value = name;
            //cc.Parameters.Add(cp);

            string        SQLtext = "call sqluser.ADBK_byname(?)";
            IRISCommand   ic      = new IRISCommand(SQLtext, adbksrc.conn);
            IRISParameter ip      = new IRISParameter("Name", IRISDbType.NVarChar);

            ip.Value = name;
            ic.Parameters.Add(ip);

            //CacheDataReader reader = cc.ExecuteReader();
            IRISDataReader reader = ic.ExecuteReader();

            while (reader.Read())
            {
                string id    = reader[reader.GetOrdinal("AID")].ToString();
                string aname = reader[reader.GetOrdinal("ANAME")].ToString();
                anamelist.Add(aname);
                idlist.Add(id);
            }
            return(anamelist);
        }
Пример #3
0
 // Helper method: Find top 10 stocks on a particular date
 public static void FindTopOnDate(IRISADOConnection dbconnection, String onDate)
 {
     try
     {
         String      sql = "SELECT distinct top 10 TransDate,Name,StockClose,StockOpen,High,Low,Volume FROM Demo.Stock WHERE TransDate=? ORDER BY stockclose desc";
         IRISCommand cmd = new IRISCommand(sql, dbconnection);
         cmd.Parameters.AddWithValue("TransDate", Convert.ToDateTime(onDate));
         IRISDataReader reader = cmd.ExecuteReader();
         Console.WriteLine("Date\t\tName\tOpening Price\tDaily High\tDaily Low\tClosing Price\tVolume");
         while (reader.Read())
         {
             DateTime date   = (DateTime)reader[reader.GetOrdinal("TransDate")];
             decimal  open   = (decimal)reader[reader.GetOrdinal("StockOpen")];
             decimal  high   = (decimal)reader[reader.GetOrdinal("High")];
             decimal  low    = (decimal)reader[reader.GetOrdinal("Low")];
             decimal  close  = (decimal)reader[reader.GetOrdinal("StockClose")];
             int      volume = (int)reader[reader.GetOrdinal("Volume")];
             String   name   = (string)reader[reader.GetOrdinal("Name")];
             Console.WriteLine(date.ToString("MM/dd/yyyy") + "\t" + name + "\t" + open + "\t" + high + "\t" + low + "\t" + close + "\t" + volume);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
Пример #4
0
        // Helper method: Update item in Portfolio Table
        public static void UpdateStock(IRISADOConnection dbconnection, String stockname, String price, String transDate, int shares)
        {
            DateTime t = DateTime.Now;

            try
            {
                String      sql = "UPDATE Demo.Portfolio SET purchaseDate = ?, purchasePrice= ?, shares = ?, DateTimeUpdated= ? WHERE name= ?";
                IRISCommand cmd = new IRISCommand(sql, dbconnection);
                cmd.Parameters.AddWithValue("PurchaseDate", Convert.ToDateTime(transDate));
                cmd.Parameters.AddWithValue("PurchasePrice", price);
                cmd.Parameters.AddWithValue("Shares", shares);
                cmd.Parameters.AddWithValue("DateTimeUpdated", t);
                cmd.Parameters.AddWithValue("Name", stockname);
                int count = cmd.ExecuteNonQuery();

                if (count > 0)
                {
                    Console.WriteLine(stockname + " updated.");
                }
                else
                {
                    Console.WriteLine(stockname + " not found");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error updating " + stockname + " : " + e);
            }
        }
Пример #5
0
        // Display all airports using ADO.NET
        public static void getAirports(IRISADOConnection connection)
        {
            try
            {
                // This query uses a special shorthand notation (->, known as an implicit join)
                // to retrieve data from a related table without requiring you to think about how to join tables
                String         sql    = "SELECT name, code, location->city, location->state, location->zip FROM demo.airport";
                IRISCommand    cmd    = new IRISCommand(sql, connection);
                IRISDataReader reader = cmd.ExecuteReader();

                Console.WriteLine("Name\t\t\t\t\tCode\t\tLocation");
                while (reader.Read())
                {
                    String name  = (String)reader[reader.GetOrdinal("name")];
                    String code  = (String)reader[reader.GetOrdinal("code")];
                    String city  = (String)reader[reader.GetOrdinal("city")];
                    String state = (String)reader[reader.GetOrdinal("state")];
                    String zip   = (String)reader[reader.GetOrdinal("zip")];
                    Console.WriteLine(name + "\t\t" + code + "\t\t" + city + ", " + state + " " + zip);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
        }
Пример #6
0
        public Boolean delete(string id)
        {
            //CacheCommand cc;
            IRISCommand ic;

            if (MessageBox.Show("削除しますか", "削除", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                try
                {
                    //cc = new CacheCommand("DELETE FROM ADBK WHERE AID = ?", adbksrc.conn);
                    //CacheParameter cp = new CacheParameter("id", CacheDbType.NVarChar);
                    //cp.Value = id;
                    //cc.Parameters.Add(cp);
                    //cc.ExecuteNonQuery();

                    ic = new IRISCommand("DELETE FROM ADBK WHERE AID = ?", adbksrc.conn);
                    IRISParameter ip = new IRISParameter("id", IRISDbType.NVarChar);
                    ip.Value = id;
                    ic.Parameters.Add(ip);
                    ic.ExecuteNonQuery();
                    return(true);
                }
                catch (Exception err)
                {
                    MessageBox.Show("削除エラー" + err.Message);
                    return(false);
                }
            }
            return(false);
        }
Пример #7
0
 public static void Task2(IRISADOConnection connection){
     String sql = "SELECT distinct name FROM demo.stock";
     IRISCommand cmd = new IRISCommand(sql, connection);
     IRISDataReader reader = cmd.ExecuteReader();
     while(reader.Read()){
         Console.WriteLine(reader[reader.GetOrdinal("Name")]);
     }
 }
Пример #8
0
        // Helper method: Create Portfolio Table
        public static void CreatePortfolioTable(IRISADOConnection dbconnection)
        {
            String createTable = "CREATE TABLE Demo.Portfolio(Name varchar(50) unique, PurchaseDate date, PurchasePrice numeric(10,4), Shares int, DateTimeUpdated DateTime)";

            try
            {
                IRISCommand cmd = new IRISCommand(createTable, dbconnection);
                cmd.ExecuteNonQuery();
                Console.WriteLine("Created Demo.Portfolio table successfully.");
            }
            catch (Exception e)
            {
                Console.WriteLine("Table not created and likely already exists.");
            }
        }
Пример #9
0
        static void Main(string[] args)
        {
            IRISCommand     spIRIS;
            IRISConnection  cnIRIS;
            IRISTransaction txIRIS = null;

            //存在するファイルを指定する
            FileStream fs = new FileStream(
                @"c:\temp\test.jpeg", FileMode.Open, FileAccess.Read);

            int fileSize = (int)fs.Length;   // ファイルのサイズ

            byte[] buf = new byte[fileSize]; // データ格納用配列

            long readSize;                   // Readメソッドで読み込んだバイト数
            int  remain = fileSize;          // 読み込むべき残りのバイト数

            readSize = fs.Read(buf, 0, (int)fs.Length);

            string IRISConnectString = "Server = localhost;Port=1972;Namespace=User;Password=SYS;User ID = _SYSTEM;";

            cnIRIS = new IRISConnection(IRISConnectString);
            cnIRIS.Open();
            spIRIS = new IRISCommand("Insert into MyApp.Person2(Name, Picture) Values(?, ?)", cnIRIS, txIRIS);

            IRISParameter pName = new IRISParameter();

            pName.ParameterName = "Name";
            pName.IRISDbType    = IRISDbType.NVarChar;
            pName.Direction     = ParameterDirection.Input;
            pName.Value         = "Hoge Hoge";
            spIRIS.Parameters.Add(pName);

            IRISParameter pPicture = new IRISParameter();

            pPicture.ParameterName = "Picture";
            pPicture.IRISDbType    = IRISDbType.LongVarBinary;
            pPicture.Direction     = ParameterDirection.Input;
            pPicture.Value         = buf;
            spIRIS.Parameters.Add(pPicture);

            spIRIS.ExecuteNonQuery();

            fs.Dispose();
            cnIRIS.Close();
        }
Пример #10
0
        public static void StoreStockData(IRIS irisNative, IRISConnection dbconnection)
        {
            // Clear global from previous runs
            irisNative.Kill("^nyse");
            Console.WriteLine("Storing stock data using Native API...");

            // Get stock data using JDBC and write global

            try {
                String         sql    = "select top 1000 TransDate, Name, StockClose, StockOpen, High, Low, Volume from Demo.Stock";
                IRISCommand    cmd    = new IRISCommand(sql, dbconnection);
                IRISDataReader reader = cmd.ExecuteReader();
                ArrayList      list   = new ArrayList();
                string         result;

                while (reader.Read())
                {
                    DateTime dt = (DateTime)reader[reader.GetOrdinal("TransDate")];
                    result = (string)reader[reader.GetOrdinal("Name")] +
                             dt.ToString("MM/dd/yyyy") +
                             reader[reader.GetOrdinal("High")] +
                             reader[reader.GetOrdinal("Low")] +
                             reader[reader.GetOrdinal("StockOpen")] +
                             reader[reader.GetOrdinal("StockClose")] +
                             (int)reader[reader.GetOrdinal("Volume")];
                    list.Add(result);
                }

                Console.WriteLine("Duong");

                int  id           = list.Count;
                long startConsume = DateTime.Now.Ticks;

                for (int i = 0; i < id; i++)
                {
                    irisNative.Set(list[i], "^nyse", i + 1);
                }

                long totalConsume = DateTime.Now.Ticks - startConsume;
                Console.WriteLine("Stored natively successfully. Execution time: " + totalConsume / TimeSpan.TicksPerMillisecond + " ms");
            }
            catch (Exception e) {
                Console.WriteLine("Error either retrieving data using JDBC or storing to globals: " + e);
            }
        }
Пример #11
0
        public static void Task4(IRISADOConnection connection, IRIS native, Event xepEvent){
            String sql = "SELECT distinct name FROM demo.stock";
            IRISCommand cmd = new IRISCommand(sql, connection);
            IRISDataReader reader = cmd.ExecuteReader();

            var array = new List<StockInfo>();
            while(reader.Read()){
                StockInfo stock = new StockInfo();
                stock.name = (string) reader[reader.GetOrdinal("Name")];
                Console.WriteLine("created stockinfo array.");
            
                // Generate mission and founder names (Native API)
                stock.founder = native.ClassMethodString("%PopulateUtils", "Name");
                stock.mission = native.ClassMethodString("%PopulateUtils", "Mission");
                Console.WriteLine("Adding object with name " + stock.name + " founder " + stock.founder + " and mission " + stock.mission);
                array.Add(stock);
            }
            xepEvent.Store(array.ToArray());
        }
        // Task 3: Generate sample stock info objects and stored into database using XEP
        public static void Task3(IRISADOConnection connection, Event xepEvent)
        {
            String         sql    = "SELECT distinct name FROM demo.stock";
            IRISCommand    cmd    = new IRISCommand(sql, connection);
            IRISDataReader reader = cmd.ExecuteReader();

            var array = new List <StockInfo>();

            while (reader.Read())
            {
                StockInfo stock = new StockInfo();
                stock.name = (string)reader[reader.GetOrdinal("Name")];
                Console.WriteLine("created stockinfo array.");
                stock.founder = "test founder";
                stock.mission = "some mission statement";
                Console.WriteLine("Adding object with name " + stock.name + " founder " + stock.founder + " and mission " + stock.mission);
                array.Add(stock);
            }
            xepEvent.Store(array.ToArray());
        }
Пример #13
0
        // Helper method: Add item to Portfolio Table
        public static void AddPortfolioItem(IRISADOConnection dbconnection, String name, String purchaseDate, String price, int shares)
        {
            DateTime t = DateTime.Now;

            try
            {
                String      sql = "INSERT INTO Demo.Portfolio (Name, PurchaseDate, PurchasePrice, Shares, DateTimeUpdated) VALUES (?,?,?,?,?)";
                IRISCommand cmd = new IRISCommand(sql, dbconnection);
                cmd.Parameters.AddWithValue("Name", name);
                cmd.Parameters.AddWithValue("PurchaseDate", Convert.ToDateTime(purchaseDate));
                cmd.Parameters.AddWithValue("PurchasePrice", price);
                cmd.Parameters.AddWithValue("Shares", shares);
                cmd.Parameters.AddWithValue("DateTimeUpdated", t);
                cmd.ExecuteNonQuery();
                Console.WriteLine("Added new line item for stock " + name + ".");
            }
            catch (Exception e)
            {
                Console.WriteLine("Error adding portfolio item: " + e);
            }
        }
Пример #14
0
 // Helper method: Delete item from Portfolio Table
 public static void DeleteStock(IRISADOConnection dbconnection, String stockname)
 {
     try
     {
         String      sql = "DELETE FROM Demo.Portfolio WHERE name = ?";
         IRISCommand cmd = new IRISCommand(sql, dbconnection);
         cmd.Parameters.AddWithValue("Name", stockname);
         int count = cmd.ExecuteNonQuery();
         if (count > 0)
         {
             Console.WriteLine("Deleted " + stockname + " successfully.");
         }
         else
         {
             Console.WriteLine(stockname + " not found.");
         }
     }
     catch (Exception e)
     {
         Console.WriteLine("Error deleting stock: " + e);
     }
 }
Пример #15
0
        // Helper method: View Portfolio Table to see % gain or loss
        public static void PortfolioProfile(IRISADOConnection dbconnection, String sellDate)
        {
            decimal  cumulStartValue = 0;
            decimal  cumulEndValue   = 0;
            DateTime t = DateTime.Now;

            try
            {
                String      sql = "SELECT pf.Name, pf.PurchasePrice, pf.PurchaseDate, pf.Shares, pf.DateTimeUpdated, st.StockClose FROM Demo.Portfolio as pf JOIN Demo.Stock as st on st.Name = pf.Name WHERE st.TransDate = ?";
                IRISCommand cmd = new IRISCommand(sql, dbconnection);
                cmd.Parameters.AddWithValue("Name", Convert.ToDateTime(sellDate));
                IRISDataReader reader = cmd.ExecuteReader();
                Console.WriteLine("Name" + " " + "Purchase Date" + " " + "Purchase Price" + " " + "Stock Close\tShares\tDatetime Updated\t% Change" + "   " + "Gain or Loss");

                while (reader.Read())
                {
                    String   name            = (string)reader[reader.GetOrdinal("Name")];
                    DateTime purchaseDate    = (DateTime)reader[reader.GetOrdinal("purchaseDate")];
                    decimal  purchasePrice   = (decimal)reader[reader.GetOrdinal("PurchasePrice")];
                    decimal  stockClose      = (decimal)reader[reader.GetOrdinal("StockClose")];
                    int      shares          = (int)reader[reader.GetOrdinal("Shares")];
                    DateTime dateTimeUpdated = (DateTime)reader[reader.GetOrdinal("DateTimeUpdated")];
                    decimal  percentChange   = (stockClose - purchasePrice) / (purchasePrice) * 100;
                    decimal  startValue      = purchasePrice * shares;
                    decimal  endValue        = stockClose * shares;
                    decimal  gainOrLoss      = Math.Round(endValue - startValue, 2);
                    cumulStartValue += startValue;
                    cumulEndValue   += endValue;
                    Console.WriteLine(name + "\t" + purchaseDate.ToString("MM/dd/yyyy") + "\t" + purchasePrice + "\t  " + stockClose + "\t" + shares + "\t"
                                      + dateTimeUpdated + "\t" + String.Format("{0:0.##}", percentChange) + "\t     " + gainOrLoss);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Error printing portfolio information: " + e);
            }
        }
Пример #16
0
        public List <string> searchbyname(string name)
        {
            //CacheCommand cc;
            IRISCommand ic;

            idlist.Clear();
            List <string> anamelist = new List <string>();

            try
            {
                //cc = new CacheCommand("Select AID, ANAME from ADBK WHERE ANAME %startswith ?", adbksrc.conn);
                //CacheParameter cp = new CacheParameter("Name", CacheDbType.NVarChar);
                //cp.Value = name;
                //cc.Parameters.Add(cp);
                //CacheDataReader reader = cc.ExecuteReader();
                ic = new IRISCommand("Select AID, ANAME from ADBK WHERE ANAME %startswith ?", adbksrc.conn);
                IRISParameter ip = new IRISParameter("Name", IRISDbType.NVarChar);
                ip.Value = name;
                ic.Parameters.Add(ip);
                IRISDataReader reader = ic.ExecuteReader();

                while (reader.Read())
                {
                    string id    = reader[reader.GetOrdinal("AID")].ToString();
                    string aname = reader[reader.GetOrdinal("ANAME")].ToString();
                    anamelist.Add(aname);
                    idlist.Add(id);
                }
                return(anamelist);
            }
            catch (Exception err)
            {
                MessageBox.Show("searchbynameエラー " + err.Message);
                return(anamelist);
            }
            //return anamelist;
        }
Пример #17
0
        public void save(string id)
        {
            //CacheCommand cc;
            //CacheParameter cp;
            //CacheTransaction ctx;

            IRISCommand     ic;
            IRISParameter   ip;
            IRISTransaction itx;

            try
            {
                //ctx = adbksrc.conn.BeginTransaction(IsolationLevel.ReadCommitted);
                itx = adbksrc.conn.BeginTransaction(IsolationLevel.ReadCommitted);

                if (newflag == true)
                {
                    //cc = new CacheCommand("INSERT INTO ADBK (ANAME,ASTREET,APHHOME,APHWORK,AZIP,ABTHDAY) VALUES(?,?,?,?,?,?)", adbksrc.conn,ctx);

                    //cp = new CacheParameter("Name", CacheDbType.NVarChar);
                    //cp.Value = Name;
                    //cc.Parameters.Add(cp);
                    //cp = new CacheParameter("Street", CacheDbType.NVarChar);
                    //cp.Value = Street;
                    //cc.Parameters.Add(cp);
                    //cp = new CacheParameter("HomePhone", CacheDbType.NVarChar);
                    //cp.Value = HomePhone;
                    //cc.Parameters.Add(cp);
                    //cp = new CacheParameter("WorkPhone", CacheDbType.NVarChar);
                    //cp.Value = WorkPhone;
                    //cc.Parameters.Add(cp);
                    //cp = new CacheParameter("ZipCode", CacheDbType.NVarChar);
                    //cp.Value = ZipCode;
                    //cc.Parameters.Add(cp);
                    //cp = new CacheParameter("Dob", CacheDbType.Date);
                    //cp.Value = dob.ToString().Split(' ')[0].ToString();
                    //cc.Parameters.Add(cp);

                    ic = new IRISCommand("INSERT INTO ADBK (ANAME,ASTREET,APHHOME,APHWORK,AZIP,ABTHDAY) VALUES(?,?,?,?,?,?)", adbksrc.conn, itx);

                    ip       = new IRISParameter("Name", IRISDbType.NVarChar);
                    ip.Value = Name;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("Street", IRISDbType.NVarChar);
                    ip.Value = Street;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("HomePhone", IRISDbType.NVarChar);
                    ip.Value = HomePhone;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("WorkPhone", IRISDbType.NVarChar);
                    ip.Value = WorkPhone;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("ZipCode", IRISDbType.NVarChar);
                    ip.Value = ZipCode;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("Dob", IRISDbType.Date);
                    ip.Value = dob.ToString().Split(' ')[0].ToString();
                    ic.Parameters.Add(ip);
                }
                else
                {
                    /*
                     * cc = new CacheCommand("UPDATE ADBK SET ANAME = ?,ASTREET = ?,APHHOME = ?,APHWORK = ?,AZIP = ?,ABTHDAY = ? WHERE AID = ?", adbksrc.conn,ctx);
                     *
                     * cp = new CacheParameter("Name", CacheDbType.NVarChar);
                     * cp.Value = Name;
                     * cc.Parameters.Add(cp);
                     * cp = new CacheParameter("Street", CacheDbType.NVarChar);
                     * cp.Value = Street;
                     * cc.Parameters.Add(cp);
                     * cp = new CacheParameter("HomePhone", CacheDbType.NVarChar);
                     * cp.Value = HomePhone;
                     * cc.Parameters.Add(cp);
                     * cp = new CacheParameter("WorkPhone", CacheDbType.NVarChar);
                     * cp.Value = WorkPhone;
                     * cc.Parameters.Add(cp);
                     * cp = new CacheParameter("ZipCode", CacheDbType.NVarChar);
                     * cp.Value = ZipCode;
                     * cc.Parameters.Add(cp);
                     * cp = new CacheParameter("Dob", CacheDbType.Date);
                     * cp.Value = dob.ToString().Split(' ')[0].ToString();
                     * cc.Parameters.Add(cp);
                     * cp = new CacheParameter("id", CacheDbType.NVarChar);
                     * cp.Value = id;
                     * cc.Parameters.Add(cp);
                     */

                    ic = new IRISCommand("UPDATE ADBK SET ANAME = ?,ASTREET = ?,APHHOME = ?,APHWORK = ?,AZIP = ?,ABTHDAY = ? WHERE AID = ?", adbksrc.conn, itx);

                    ip       = new IRISParameter("Name", IRISDbType.NVarChar);
                    ip.Value = Name;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("Street", IRISDbType.NVarChar);
                    ip.Value = Street;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("HomePhone", IRISDbType.NVarChar);
                    ip.Value = HomePhone;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("WorkPhone", IRISDbType.NVarChar);
                    ip.Value = WorkPhone;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("ZipCode", IRISDbType.NVarChar);
                    ip.Value = ZipCode;
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("Dob", IRISDbType.Date);
                    ip.Value = dob.ToString().Split(' ')[0].ToString();
                    ic.Parameters.Add(ip);
                    ip       = new IRISParameter("id", IRISDbType.NVarChar);
                    ip.Value = id;
                    ic.Parameters.Add(ip);
                }

                //cc.ExecuteNonQuery();
                ic.ExecuteNonQuery();

                if (newflag == true)
                {
                    //cc = new CacheCommand("SELECT MAX(AID) FROM ADBK", adbksrc.conn,ctx);
                    //cc = new CacheCommand("SELECT LAST_IDENTITY() FROM ADBK", adbksrc.conn, ctx);
                    //CacheDataReader reader = cc.ExecuteReader();

                    ic = new IRISCommand("SELECT LAST_IDENTITY() FROM ADBK", adbksrc.conn, itx);
                    IRISDataReader reader = ic.ExecuteReader();

                    while (reader.Read())
                    {
                        string aid = reader[0].ToString();
                        id = aid;

                        //cc = new CacheCommand("Select AID, ACITY, ANAME, ABTHDAY, ASTREET , APHHOME , APHWORK, AAGE, AZIP from ADBK WHERE AID = ?", adbksrc.conn,ctx);

                        //CacheParameter cp2 = new CacheParameter("id", CacheDbType.NVarChar);
                        //cp2.Value = aid;
                        //cc.Parameters.Add(cp2);
                        //CacheDataReader cr = cc.ExecuteReader();
                        //updatedatamodel(cr);

                        ic = new IRISCommand("Select AID, ACITY, ANAME, ABTHDAY, ASTREET , APHHOME , APHWORK, AAGE, AZIP from ADBK WHERE AID = ?", adbksrc.conn, itx);

                        IRISParameter ip2 = new IRISParameter("id", IRISDbType.NVarChar);
                        ip2.Value = aid;
                        ic.Parameters.Add(ip2);
                        IRISDataReader ir = ic.ExecuteReader();
                        updatedatamodel(ir);
                    }
                }

                //ctx.Commit();
                itx.Commit();
            }
            catch (Exception err)
            {
                MessageBox.Show("保存エラー " + err.Message);
            }
        }
Пример #18
0
        // Save trade into database using ADO.NET - which is slower than using XEP
        public static long StoreUsingADO(EventPersister persist, Trade[] sampleArray)
        {
            long totalTime = new long();
            long startTime = DateTime.Now.Ticks;

            // Loop through objects to insert
            try
            {
                IRISDataAdapter da        = new IRISDataAdapter();
                String          ClassName = "myApp.Trade";

                IRISADOConnection con = (IRISADOConnection)persist.GetAdoNetConnection();

                String SQL = "select purchaseDate, purchasePrice, stockName, shares, traderName from " + ClassName;
                da.SelectCommand             = con.CreateCommand();
                da.SelectCommand.CommandText = SQL;

                SQL = "INSERT INTO myApp.Trade (purchaseDate, purchasePrice, stockName, shares, traderName) VALUES (?,?,?,?,?)";

                IRISCommand cmd = con.CreateCommand();
                cmd.CommandText  = SQL;
                da.InsertCommand = cmd;

                IRISParameter date_param = new IRISParameter("purchaseDate", IRISDbType.DateTime);
                cmd.Parameters.Add(date_param);
                date_param.SourceColumn = "purchaseDate";

                IRISParameter price_param = new IRISParameter("purchasePrice", IRISDbType.Double);
                cmd.Parameters.Add(price_param);
                price_param.SourceColumn = "purchasePrice";

                IRISParameter name_param = new IRISParameter("stockName", IRISDbType.NVarChar);
                cmd.Parameters.Add(name_param);
                name_param.SourceColumn = "stockName";

                IRISParameter shares_param = new IRISParameter("shares", IRISDbType.Int);
                cmd.Parameters.Add(shares_param);
                shares_param.SourceColumn = "shares";

                IRISParameter trader_param = new IRISParameter("traderName", IRISDbType.NVarChar);
                cmd.Parameters.Add(trader_param);
                trader_param.SourceColumn = "traderName";

                da.TableMappings.Add("Table", ClassName);

                DataSet ds = new DataSet();
                da.Fill(ds);

                for (int i = 0; i < sampleArray.Length; i++)
                {
                    DataRow newRow = ds.Tables[0].NewRow();
                    newRow["purchaseDate"]  = sampleArray[i].purchaseDate;
                    newRow["purchasePrice"] = sampleArray[i].purchasePrice;
                    newRow["stockName"]     = sampleArray[i].stockName;
                    newRow["shares"]        = sampleArray[i].shares;
                    newRow["traderName"]    = sampleArray[i].traderName;
                    ds.Tables[0].Rows.Add(newRow);
                }


                da.Update(ds);
                Console.WriteLine("Inserted " + sampleArray.Length + " item(s) via ADO.NET successfully.");
                totalTime = DateTime.Now.Ticks - startTime;
            }
            catch (Exception e)
            {
                Console.WriteLine("There was a problem storing items using ADO.NET.\n" + e);
            }
            return(totalTime / TimeSpan.TicksPerMillisecond);
        }