簡體   English   中英

如何更新SQL數據庫中的表數據

[英]how to update table data in sql database

我正在為項目使用asp.net,並且正在使用以下代碼,但其無法正常工作

 SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=E:\\WEB_PROJECT\\App_Data\\ASPNETDB.MDF;Integrated Security=True;User Instance=True");
 SqlCommand cmd = new SqlCommand();
 cmd.Connection = con;
 con.Open();
 cmd.CommandText = "UPDATE info SET fname = @fn, lname = @fl, phone= @ph, recoveryq=@rq, recoverya=@ra WHERE username = @un";  

 cmd.Parameters.AddWithValue("fn", TextBox3.Text);
 cmd.Parameters.AddWithValue("fl", TextBox4.Text);
 cmd.Parameters.AddWithValue("ph", TextBox5.Text);
 cmd.Parameters.AddWithValue("rq",TextBox6.Text);
 cmd.Parameters.AddWithValue("ra",TextBox2.Text);
 cmd.Parameters.AddWithValue("un",line);        
 cmd.ExecuteNonQuery();
 con.Close();

咨詢plzz我很困惑! :(

就像我之前在這個站點上所說的那樣-整個用戶實例和AttachDbFileName =方法都是有缺陷的-充其量! Visual Studio將圍繞.mdf文件進行復制,並且很可能您的UPDATE效果很好-但最終您只是看錯了.mdf文件

如果您要堅持這種方法,請嘗試在con.Close()調用上放置一個斷點-然后使用SQL Server Mgmt Studio Express檢查.mdf文件-我幾乎可以確定您的數據在那里。

我認為真正的解決方案

  1. 安裝SQL Server Express(並且您已經完成了此操作)

  2. 安裝SQL Server Management Studio Express

  3. SSMS Express中創建數據庫,給它一個邏輯名稱(例如ASPNETDB

  4. 使用其邏輯數據庫名稱 (在服務器上創建時提供)連接到該數據庫 -並且不要弄亂物理數據庫文件和用戶實例。 在這種情況下,您的連接字符串將類似於:

     Data Source=.\\\\SQLEXPRESS;Database=ASPNETDB;Integrated Security=True 

    和其他一切是完全一樣的前...

cmd.Parameters.AddWithValue("@fn", TextBox3.Text);

您必須指定參數名稱以及'@'。

暫無
暫無

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

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