正确的VB Web服务代码的语法sql插入FOR XML AUTO,ELEMENTS?

时间:2011-11-30 22:30:25

标签: asp.net vb.net visual-studio-2010

如果代码,我在获取正确的语法方面遇到了一些麻烦。我使用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语句但是我不能找出正确的语法,则不会发生此问题,感谢您的帮助

1 个答案:

答案 0 :(得分:0)

FOR XML AUTO仅用于SELECT语句。所以,问题不在于你的insert语句,它是你的select语句,无论是什么。