簡體   English   中英

從字符串 SQL (c#) 轉換日期或時間時,日期時間轉換失敗

[英]datetime conversion failed when converting date or time from character string SQL (c#)

我試圖讓我的程序工作,它使用 SQL 查詢中的參數將其添加到數據庫中。 當我運行程序時,它會出現“從字符串轉換日期或時間時日期時間轉換失敗”。 我嘗試了許多類型的編碼來使其工作,但都失敗了。 SQL 代碼本身有效。 這只是打破的轉換。 我在這里嘗試了多個其他帖子,但沒有一個有效。 這是我的代碼:

string query = $"UPDATE[***].[***]  SET [***]= '@FName', [***]= '@SName', [***] = '@Modified', [***] = '@Arrival', [***] = '@Departure'  where [Id] = '{id}'; ";
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("@FName", record.guestGiven);
parameters.Add("@SName", record.guestSurname);
parameters.Add("@Modified", record.ModifiedDate.ToString());
parameters.Add("@Arrival", Convert.ToString(record.arrivalDate));
parameters.Add("@Departure", Convert.ToString(record.departureDate));
mySuilvision.InsertData(query, parameters);

我還嘗試執行以下操作

parameters.Add("@Modified", record.ModifiedDate.ToString("yyyy-mm-dd hh:MM:ss));

它提出的只是相同的錯誤,對於最后一段代碼,VS錯誤是“無法從字符串轉換為system.IFormatProvider。感謝您的幫助。

更改您的 SQL:

string query = $"UPDATE[***].[***]  SET [***]= @FName, [***]= @SName, [***] = @Modified, [***] = @Arrival, [***] = @Departure where [Id] = '{id}'; ";

通過將參數名稱放在引號中,它們被視為字符串文字,這是行不通的。

另外,為什么要將 ID 添加為文字? 您也應該將其添加為參數。

暫無
暫無

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

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