无法在数据库中保存fileupload文件名

时间:2011-11-09 02:10:31

标签: asp.net sql-server file-upload sql-update

我无法弄清楚将文件名保存为数据库中的字符串的正确代码。我的代码如下:

        FileUpload1.SaveAs(Server.MapPath("pimages/" + FileUpload1.FileName))
                MsgBox(FileUpload1.FileName)
            Dim newUsr As MembershipUser = Membership.GetUser()
            Dim newUserId As Guid = CType(newUsr.ProviderUserKey, Guid)

            ' Insert a new record into UserProfiles
            Dim connectionString As String = ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString
            Dim insertSql As String = "UPDATE UserProfiles Set (Pic = @Pic) Where (UserId = @UserID)"

            Using myConnection As New SqlConnection(connectionString)
                myConnection.Open()
                Dim myCommand As New SqlCommand(insertSql, myConnection)

                myCommand.Parameters.AddWithValue("@UserId", newUserId)
                myCommand.Parameters.AddWithValue("@Pic", FileUpload1.FileName)

                myCommand.ExecuteNonQuery()
                myConnection.Close()
            End Using

有人可以纠正这个吗?

1 个答案:

答案 0 :(得分:0)

我相信您的问题可能与您的用户ID有关。使用动态SQL时,GUID和字符串都需要使用单引号:

Dim insertSql As String = "UPDATE UserProfiles Set (Pic = '@Pic') Where (UserId = '@UserID')"