[英]Send C# datetime to SQL Server - error “Conversion failed when converting date and/or time from character string”
[英]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.