好吧,即時建立一個汽車經銷商的股票系統,有能力添加新的汽車到系統,現在我需要添加一個功能,如果經銷商類型的汽車REG已經是在數據庫中會出現一個錯誤消息框。C#數據庫接口檢查SQL重複
我該怎麼做?
繼承人的代碼:
MySqlCommand cmd = new MySqlCommand();
String carManufacture = textBoxCARManufac.Text.ToUpper();
String carModel = textBoxCARModel.Text.ToUpper();
String carColour = textBoxCarBodColo.Text.ToUpper();
int carMileage = int.Parse(textBoxCArMillea.Text);
int carYearReg = int.Parse(textBoxCARREGYear.Text);
String carReg;
String fuel = textBoxCARFuel.Text.ToUpper();
int carEng = int.Parse(textBoxCarEngSize.Text);
float carprice = float.Parse(textBoxCARPrice.Text);
float carTaxcost = float.Parse(textBoxCArTax.Text);
carReg = Regex.Replace(textBox1CARregplate.Text, " ", "").ToUpper();
try
{
cmd.CommandText = "INSERT INTO stockList (Manufacturer,CarModel,BodyColour,AquiredMileage,RegistartionYear,CarRegistration,FuelType,EngineSize,Price,CarTaxCost12Months) VALUES (@Manufacturer, @carModel, @carColour, @carMileage, @carYearReg, @carReg, @fuel, @carEng, @carPrice, @carTaxCost)";
cmd = SDS1.Prepare(cmd);
cmd.Parameters.AddWithValue("@Manufacturer", carManufacture);
cmd.Parameters.AddWithValue("@carModel" , carModel);
cmd.Parameters.AddWithValue("@carColour" , carColour);
cmd.Parameters.AddWithValue("@carMileage" , carMileage);
cmd.Parameters.AddWithValue("@carYearReg" , carYearReg);
cmd.Parameters.AddWithValue("@carReg" , carReg);
cmd.Parameters.AddWithValue("@fuel" , fuel);
cmd.Parameters.AddWithValue("@carEng" , carEng);
cmd.Parameters.AddWithValue("@carPrice" , carprice);
cmd.Parameters.AddWithValue("@carTaxCost", carTaxcost);
SDS1.Query(cmd);
}
catch (Exception ex)
{
Console.WriteLine("ERROR: " + ex);
}
}
您應該在該字段上創建一個[**'UNIQUE CONSTRAINT' **](http://msdn.microsoft.com/zh-cn/library/ms190024.aspx)(假設您使用的是MS SQL Server) – 2013-05-01 13:43:16
在數據庫的該字段上創建一個唯一約束。將引發異常。 – JosephHirn 2013-05-01 13:43:19
REGISTRATION NUMBER是一個主鍵,它是唯一的,當你輸入一個副本時,它會在控制檯輸出一個sql錯誤,所以它看到重複。但我想要一個消息框的形式的錯誤 – lparry1992 2013-05-01 14:33:08