我有以下代码:
USE [DB] INSERT INTO Extract2_EventLog VALUES (" + li.userId + ", '" + li.startTime.ToString() + "', '" + li.endTime.ToString() + "', '" + li.elapsedTime.ToString() + (li.actionType == ActionType.REPORT ? "', 'report')" : "', 'extract')', '" + status + "'");
当我运行它时,出现以下错误:
{"Incorrect syntax near ', '.\r\nUnclosed quotation mark after the character string ''."}
我看不出我做错了什么..有人吗?
最佳答案
伙计....从哪里开始......
首先,您应该使用接受参数(应用程序代码中的变量)的存储过程。其次,您的应用程序中应该有一个数据访问层,将数据库调用和用户界面分开。我怎么强调这有多重要以及您当前的方法有多糟糕。在你纠正它之前,你将永远与这样的问题作斗争。
但是要解决问题...您的错误是因为您的查询字符串格式错误。在将字符串发送到数据库之前使用调试工具查看该字符串,然后您应该能够快速确定它有什么问题。要排除故障,您始终可以将该字符串剪切并粘贴到 SSMS 中,在那里对其进行优化,然后对您的 C# 代码进行必要的更改。
关于c# - c# 中的 T-SQL 语句中的语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347607/