2011-11-09 10 views
0

ファイル名をデータベースに文字列として保存する正しいコードがわかりません。私のコードは次の通りです:データベースにfileuploadのファイル名を保存できませんでした

 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

あなたの問題はユーザーIDである可能性があります。動的SQLを使用する場合、GUIDとStringの両方を一重引用符で囲む必要があります。

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

いいえ、動作しませんでした。 –

+0

あなたが受け取っている正確なエラーは何ですか? –

+0

UserProfilesテーブルにも他のフィールドがありますが、画像ファイル名でピクチャフィールドを更新したいだけです。 –

関連する問題