如果代码,我在获取正确的语法方面遇到了一些麻烦。我使用vb将数据插入数据库并以XML格式输出数据,这里是代码
<WebMethod()> _
Public Function addTrack(ByVal tTitle As String, ByVal tAlbum As String, ByVal tGenre As String) As String
Dim conn As New SqlConnection("Data Source=MARTIN-LAPTOP\SQLEXPRESS;Initial Catalog=mp3_playlists;Integrated Security=True")
Dim sql As String = "INSERT INTO Tracks (trackTitle, trackAlbum, trackGenre) VALUES ('" & tTitle & "', '" & tAlbum & "', '" & tGenre & "') FOR XML AUTO, ELEMENTS"
conn.Open()
Dim cmd As New SqlCommand(sql, conn)
Dim track As String = cmd.ExecuteScalar()
conn.Close()
Return track
End Function
代码用于ASP.NET Web服务,当我在网站上单击调用时,我在关键字“FOR”附近收到错误语法错误。如果我删除FOR XML AUTO,ELEMENTS一切正常,db更新,但我不会将数据输出为XML。我认为问题在于 插入值所需的括号,因为如果SQL语句是没有括号的SELECT语句但是我不能找出正确的语法,则不会发生此问题,感谢您的帮助
答案 0 :(得分:0)
FOR XML AUTO仅用于SELECT语句。所以,问题不在于你的insert语句,它是你的select语句,无论是什么。