簡體   English   中英

行未更新

[英]Rows not being updated

我寫了以下函數來更新我的數據庫中的學生:

public bool UpdateStudent(Student stu)
{
   Console.WriteLine("StudentManger.UpdateStudent): Called");

   int rowsChanged = 0;

   using (var cnn = new SqlConnection(
          Properties.Settings.Default.universityConnectionString))
   {
      using (var cmd = new SqlCommand("UPDATE Student " +
              "SET FirstName = @FirstName, " +
              "lastName = @LastName, " +
              "birth = @birth " +
              "WHERE id = @id", cnn))
      {
        cmd.Parameters.Add(new SqlParameter("@FirstName", stu.FirstName));
        cmd.Parameters.Add(new SqlParameter("@LastName", stu.LastName));
        cmd.Parameters.Add(new SqlParameter("@id", stu.ID));
        cmd.Parameters.Add(new SqlParameter("@birth", stu.Birth));

        cnn.Open();
        rowsChanged = (int)cmd.ExecuteNonQuery();
        Properties.Settings.Default.Save();
      }
    }
    Properties.Settings.Default.Save();
    return (rowsChanged != 0);
  }

但是當我調用函數時,沒有數據實際上被保存到數據庫中

有人可以告訴我為什么嗎?

使用您在聊天中提供的整個解決方案和信息,您的代碼就可以了。 問題是.mdf數據庫文件設置為“復制到輸出目錄”:項目中的“始終”。 將此屬性更改為“如果更新則復制”(或“不復制”並自行將其移動到bin文件夾),並且在重新運行應用程序時不會覆蓋您的更改。 重要的是,您不會看到您在應用程序中所做的更改反映在項目根目錄中的.mdf數據庫文件 它實際上被復制到/ bin文件夾,並且這是持久化更改的位置。 因此,如果您不更改“復制到輸出目錄”屬性,則每次構建時它都會從根目錄復制到/ bin文件夾。 因此, 看起來這些變化並沒有持續存在,而實際上卻是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM