public void editCompany(String oldKey, StockCompanyInfo info) { if (!connect()) return; try { String query; if (oldKey == null || oldKey.Trim().Length == 0) { query = "INSERT INTO STOCK_COMPANY (KEY, NAME, TOTAL_STOCK) VALUES (:key, :name, :amount)"; } else { query = "UPDATE STOCK_COMPANY SET KEY = :key, NAME = :name, TOTAL_STOCK = :amount WHERE KEY = :old_key"; } NpgsqlCommand command = new NpgsqlCommand(query, connection); command.Parameters.Add(new NpgsqlParameter("key", NpgsqlTypes.NpgsqlDbType.Varchar)); command.Parameters["key"].Value = info.key; command.Parameters.Add(new NpgsqlParameter("name", NpgsqlTypes.NpgsqlDbType.Varchar)); command.Parameters["name"].Value = info.name; command.Parameters.Add(new NpgsqlParameter("amount", NpgsqlTypes.NpgsqlDbType.Numeric)); command.Parameters["amount"].Value = info.stockAmount; command.Parameters.Add(new NpgsqlParameter("old_key", NpgsqlTypes.NpgsqlDbType.Varchar)); command.Parameters["old_key"].Value = oldKey; command.ExecuteNonQuery(); } catch (Exception ex) { HandleException(ex); } finally { disconnect(); } }
public StockCompanyInfo getCompanyInfo(String ticker) { StockCompanyInfo info = null; if (!connect()) return null; try { String query = "SELECT KEY, NAME, TOTAL_STOCK, MARKET_STOCK FROM STOCK_COMPANY WHERE KEY = :ticker"; NpgsqlCommand command = new NpgsqlCommand(query, connection); command.Parameters.Add(new NpgsqlParameter("ticker", NpgsqlTypes.NpgsqlDbType.Varchar)); command.Parameters[0].Value = ticker; NpgsqlDataReader rd = command.ExecuteReader(); while (rd.Read()) { info = new StockCompanyInfo(); info.key = Convert.ToString(rd["KEY"]); info.name = Convert.ToString(rd["NAME"]); info.stockAmount = Convert.ToUInt64(rd["TOTAL_STOCK"]); info.marketAmount = Convert.ToUInt64(rd["MARKET_STOCK"]); } rd.Close(); } catch (Exception ex) { HandleException(ex); } finally { disconnect(); } return info; }