因此,我可以成功地將新波段添加到數據庫,但有時候我不需要所有參數。在我的數據庫中,「Picture」和「Description」允許有「null」值,那麼爲什麼C#會一直給我提供參數未提供的錯誤消息?添加到數據庫中:參數未提供,但在SQL列中不需要
public static void AddBand(Band band){
try
{
String sql = "INSERT INTO Band(Naam, Picture, Description, Facebook, Twitter) VALUES(@p1,@p2,@p3,@p4,@p5)";
DbParameter p1 = Database.AddParameter("@p1", band.Name);
DbParameter p2 = Database.AddParameter("@p2", band.Picture);
DbParameter p3 = Database.AddParameter("@p3", band.Description);
DbParameter p4 = Database.AddParameter("@p4", band.Facebook);
DbParameter p5 = Database.AddParameter("@p5", band.Twitter);
Database.ModifyData(sql, p1, p2, p3, p4, p5);
MessageBox.Show("Band successfully added.");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
C#「null」值與SQL中使用的值不同。 嘗試使用'DBNull.Value'。 – jAC
即使它在您的查詢中,您是否有時不提供該參數? – Chris
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –