我编写的程序因为这段代码而抛出异常:
queryString = String.Format("INSERT INTO Playlists (PlaylistID, PlaylistName, PlaylistCreator) VALUES ('{0}', '{1]', '{2}');", CurrentPlaylistID, playlistInfo[1], playlistInfo[0]);
所有变量都是字符串。在这之后我也有一个类似的String.Format它可以正常工作。还有3个变量,都是字符串。
无法找到解决此错误的方法,它表示格式化错误,但为什么?
希望你能帮助我
答案 0 :(得分:7)
不要修复异常 - 停止构建像这样的SQL来开始。 (例外情况是由于Pheonyx建议的拼写错误,但不只是解决了这个问题。)
而是使用参数化SQL,并将值指定为参数值。否则:
请参阅SqlCommand.Parameters
的文档以获取更多详细信息 - 我们无法确定您要定位的数据库为您提供更具体的帮助,但通常您会在上面找到名为Parameters
的属性相关的命令类。
答案 1 :(得分:4)
你有一个错字
'{1]'
应该是
'{1}'
(注意不同的括号)
答案 2 :(得分:2)
必须
VALUES ('{0}', '{1}', '{2}')