2013-06-04 16 views
2

我有一點麻煩,寫一個查詢字符串,以更新特定的SQL記錄。 我有我所有的值存儲在字符串中,並且我添加它們(值作爲參數),它會將主ID轉換爲int。到現在爲止還挺好。使用值更新特定的SQL記錄

問題出在我的查詢字符串它自己。我可以刪除和創建sql記錄(選擇並插入),但這裏的問題在於更新。我有。

現在...沒有真正的經驗,我都準備好了查詢字符串...

SqlCommand DerGemmesMedarbejder = new SqlCommand("UPDATE MyTableInQuestion VALUES (@Tittel, @FuldeNavn, @MailAdresse, @TelefonNummer, @MedarbejderType) WHERE PersonaleID = @PersonaleID_FraRepeateren", GemDetAendredeIndhold); 

我似乎無法得到它的權利。調試器告訴我,這個問題是「近jeyword‘價值’

回答

0

您的更新命令語法無效。您可以插入和更新命令混淆

更新命令會是這樣

UPDATE MyTableInQuestion set [email protected], [email protected] where PersonaleID = @PersonaleID_FraRepeateren 
+0

FuldeNavn = @ FuldeNavn應該是TheStringNameIUse = @ FuldeNavn? – Anders

+0

'@ FuldeNavn'是保存該值的參數,它將用作'FuldeNavn'列的值 – Sachin

+0

所以,如果我繪製這個「DerGemmesMedarbejder.Parameters.AddWithValue(」@ Tittel「 ,「Tittel_DerSkalGemmes);」從我的字符串中保存要存儲的值,那麼我應該可以使用「Tittle = @ Tittle」,因爲這些值是從我的變量中抽取的(字符串和int) – Anders

4

不正確的語法試試這個

SqlCommand DerGemmesMedarbejder = new SqlCommand("UPDATE MyTableInQuestion set [email protected], [email protected], ... WHERE PersonaleID = @PersonaleID_FraRepeateren", GemDetAendredeIndhold); 
+0

對不起。試過,沒有工作。不管怎麼說,還是要謝謝你。 :-) – Anders

+0

對不起...在「Tittle = @ Tittle」中忘了「Tittel」而不是「@Tittle」... – Anders

+0

現在,它正在@Anders – Amit

3

嘗試此查詢 -

UPDATE MyTableInQuestion 
SET 
     Tittel = @Tittel 
    , FuldeNavn = @FuldeNavn 
    , MailAdresse = @MailAdresse 
    , TelefonNummer = @TelefonNummer 
    , MedarbejderType = @MedarbejderType 
WHERE PersonaleID = @PersonaleID_FraRepeateren 
+0

它告訴我:錯誤的語法附近','它不能是那樣的.... :-( – Anders

+0

對不起...在Tittle = @ Tittle忘記了「Tittel」而不是「@Tittle」。 – Anders

0

因爲語法不正確 語法here

對於更新語句,您必須將您的查詢更改爲:

UPDATE MyTableInQuestion SET Column1 = @Tittel, Column2 = @FuldeNavn, Column3 = @MailAdresse, Column4 = @TelefonNummer, Column5 = @MedarbejderType WHERE PersonaleID = @PersonaleID_FraRepeateren" 

哪裏Column1-5是列名