private static void AddNewVehicle(veicolo v) { if (connStr != null) { OleDbConnection con = new OleDbConnection(connStr); using (con) { con.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = con; try { v.Marca = SetFields("\nInserisci marca: "); v.Modello = SetFields("Inserisci modello: "); v.Cilindrata = Convert.ToInt32(SetFields("Inserisci cilindrata: ")); v.PotenzaKw = Convert.ToDouble(SetFields("Inserisci potenza [KW]: ")); v.Immatricolazione = Convert.ToDateTime(SetFields("Inserisci data di immatricolazione [gg/mm/aaaa]: ")); v.IsUsato = Convert.ToBoolean(SetFields("Il veicolo è usato? [Si/No] ")); v.IsKmZero = Convert.ToBoolean(SetFields("Il veicolo è Km zero? [Si/No] ")); v.KmPercorsi = v.IsUsato ? Convert.ToInt32(SetFields("Inserisci km percorsi: ")) : 0; v.Colore = SetFields("Inserisci colore: "); v.Prezzo = Convert.ToInt32(SetFields("Inserisci prezzo: ")); string query; if (v is auto) { (v as auto).NumairBag = Convert.ToInt32(SetFields("Inserisci numero di airbag: ")); query = "INSERT INTO auto(marca, modello, cilindrata, potenzaKw," + "immatr, kmPercorsi, colore, isUsato, isKmZero, prezzo, nAirBag) VALUES(@marca, @modello," + "@cilindrata, @potenzaKw, @immatr, @kmPercorsi, @colore, @isUsato, @isKmZero, @prezzo, @nAirBag)"; } else { (v as moto).MarcaSella = SetFields("Inserisci la marca della sella: "); query = "INSERT INTO moto(marca, modello, cilindrata, potenzaKw," + "immatr, kmPercorsi, colore, isUsato, isKmZero, prezzo, mSella) VALUES(@marca, @modello," + "@cilindrata, @potenzaKw, @immatr, @kmPercorsi, @colore, @isUsato, @isKmZero, @prezzo, @mSella)"; } cmd.CommandText = query; addParameters(cmd, v); cmd.Prepare(); cmd.ExecuteNonQuery(); System.Threading.Thread.Sleep(3000); Console.WriteLine("\nVeicolo aggiunto correttamente!"); Console.ReadKey(); } catch (Exception ex) { Console.WriteLine(ex.Message + " -- Errore durante il caricamento del veicolo!"); } } } }
private static void addParameters(OleDbCommand cmd, veicolo v) { cmd.Parameters.Add(new OleDbParameter("@marca", OleDbType.VarChar, 255)).Value = v.Marca; cmd.Parameters.Add("@modello", OleDbType.VarChar, 255).Value = v.Modello; cmd.Parameters.Add("@cilindrata", OleDbType.Integer).Value = v.Cilindrata; cmd.Parameters.Add("@potenzaKw", OleDbType.Integer).Value = v.PotenzaKw; cmd.Parameters.Add("@immatr", OleDbType.Date).Value = v.Immatricolazione; cmd.Parameters.Add("@kmPercorsi", OleDbType.Integer).Value = v.KmPercorsi; cmd.Parameters.Add("@colore", OleDbType.VarChar, 255).Value = v.Colore; cmd.Parameters.Add("@isUsato", OleDbType.Boolean).Value = v.IsUsato; cmd.Parameters.Add("@isKmZero", OleDbType.Boolean).Value = v.IsKmZero; cmd.Parameters.Add("@prezzo", OleDbType.Integer).Value = v.Prezzo; if (v is auto) { cmd.Parameters.Add("@nAirBag", OleDbType.Integer).Value = (v as auto).NumairBag; } else { cmd.Parameters.Add("@mSella", OleDbType.VarChar, 255).Value = (v as moto).MarcaSella; } }