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); } }
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); }
// 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); } }
// 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); } }
// 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); } }
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); }
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")]); } }
// 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."); } }
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(); }
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); } }
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()); }
// 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); } }
// 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); } }
// 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); } }
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; }
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); } }
// 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); }