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.
我写的程序因为这段代码抛出异常:
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.