System.Format 异常

System.Format Exception

我写的程序因为这段代码抛出异常:

queryString = String.Format("INSERT INTO Playlists (PlaylistID, PlaylistName, PlaylistCreator) VALUES ('{0}', '{1]', '{2}');", CurrentPlaylistID, playlistInfo[1], playlistInfo[0]);

所有变量都是字符串。在此之后我也有一个类似的 String.Format,它工作正常。还有3个Variables,都是Strings.

找不到解决此错误的方法,它说格式化错误,但为什么?

希望你能帮助我

你打错了

'{1]'

应该是

'{1}'

(注意不同的括号)

必须是

 VALUES ('{0}', '{1}', '{2}')

不要修复异常 - 停止像这样构建 SQL。 (异常是由于 Pheonyx 建议的拼写错误,但 不要 只是修复它。)

而是使用参数化 SQL,并将值指定为参数值。否则:

  • 你让自己对SQL Injection Attacks
  • 敞开心扉
  • 你的代码更难阅读
  • 您很容易遇到转换问题,尤其是日期

有关详细信息,请参阅 SqlCommand.Parameters 的文档 - 我们无法确定您的目标数据库是什么来为您提供更具体的帮助,但通常您会找到一个名为 Parameters 的属性在相关命令上 class.