Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με FileUpload + FormView

Îåêßíçóå áðü ôï ìÝëïò epp1123. Τελευταία δημοσίευση από το μέλος epp1123 στις 26-05-2008, 16:22. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  26-05-2008, 15:12 42409

    Πρόβλημα με FileUpload + FormView

    Η ιστορία έχει ως εξής:

    Έχω τοποθετήσει ένα FileUpload μέσα σε ένα FormView, το οποίο θα το χρησιμοποιώ σε Edit και Insert Modes (της FormView). Αφού έψαξα, βρήκα πως δεν μπορείς να έχεις άμεσα πρόσβαση στο control που βρίσκεται μέσα στο FormView, και πρέπει να το κάνεις με FindControl. Έτσι, χωρίς να γνωρίζω και πολλά πό VB, αλλά δε πειράζει μαθαίνω Smile, έκατσα έγραψα κώδικα για να ανανεώνω (Update) αρχικά τη βάση. Όλα καλά και όλα ωραία, αλλά έχω το εξής πρόβλημα -->"Must declare the scalar variable "@IdentTitleParameter". Εκτός από τη συμβουλή σας για την επίλυση του προβλήματος, θα ήθελα και μία εξήγηση τι στο καλό σημαίνει το "Must declare the scalar variable ".

    Arigato

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     'Ορισμός Μεταβλητών
    Dim TempFileUpload As New FileUpload
    Dim TempIdentTitle As New TextBox
    Dim TempWebSite As New TextBox
    Dim ClientSideFileName As String
    Dim ServerSideFilePath As String

    Dim FileUploadParameter As New Parameter
    Dim IdentTitleParameter As New Parameter
    Dim WebSiteParameter As New Parameter

    'Η Sub του FileUpload Server Control
    Protected Sub SuppliersLogoUpload_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs)
    'Βρίσκουμε τα control
    If SuppliersFormView.CurrentMode = FormViewMode.Edit Then
    TempFileUpload = SuppliersFormView.FindControl("SuppliersLogoUpload")
    TempIdentTitle = SuppliersFormView.FindControl("IdentTitleTextBox")
    TempWebSite = SuppliersFormView.FindControl("WeblinkTextBox")
    End If


    End Sub
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

    Protected Sub UpdateButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)

    'Διαδικασία ανεβάσματος του αρχείου στη βάση

    ServerSideFilePath = "C:\" 'Ορίζουμε το path του server
    If TempFileUpload.HasFile Then
    'Παίρνουμε το όνομα του αρχείου που βρίσκεται στον client
    ClientSideFileName = TempFileUpload.PostedFile.FileName

    'Καθορίζουμε το path που θα αποθηκευτεί το αρχείο + το όνομα του αρχείου
    ServerSideFilePath = ServerSideFilePath + ClientSideFileName

    'Ανεβάζουμε το αρχείο στο server
    TempFileUpload.SaveAs(ServerSideFilePath)

    End If
    ''''''''''''''''''''''''''''''''''''''''

    'Διαδικασία εισαγωγής του path στη βάση

    'Ορίζουμε τα δεδομένα των παραμέτρων

    ' Το logo του προμηθευτή
    FileUploadParameter.DefaultValue = ServerSideFilePath
    FileUploadParameter.Name = "FileUploadParameter"
    FileUploadParameter.Type = TypeCode.String

    ' Το όνομα της εταιρείας του προμηθευτή
    IdentTitleParameter.DefaultValue = TempIdentTitle.Text
    IdentTitleParameter.Name = "IdentTitleParameter"
    IdentTitleParameter.Type = TypeCode.String


    ' Η ιστοσελίδα του προμηθευτή
    WebSiteParameter.DefaultValue = TempWebSite.Text
    WebSiteParameter.Name = "WebSiteParameter"
    WebSiteParameter.Type = TypeCode.String

    'Κάνουμε την ανανέωση
    SuppliersSqlDataSource.UpdateParameters.Add(FileUploadParameter)
    SuppliersSqlDataSource.UpdateCommand = "UPDATE Suppliers SET Logo =@FileUploadParameter, IdentTitle =@IdentTitleParameter, Weblink =@WebSiteParameter"
    SuppliersSqlDataSource.Update()


  •  26-05-2008, 16:04 42411 σε απάντηση της 42409

    Re: Πρόβλημα με FileUpload + FormView

    Με μια γρήγορη ματιά φαίνεται ότι δεν έχεις κανει add 2 από τα 3 parameters που βάζεις στο updatecommand σου. Το μήνυμα λάθους είναι ακριβώς ότι λέει, δηλαδή δεν βρίσκει ο parser την παράμετρο τύπου scalar που περιμένει. Πρόσθεσε τα

    SuppliersSqlDataSource.UpdateParameters.Add(IdentTitleParameter)

    SuppliersSqlDataSource.UpdateParameters.Add(WebSiteParameter)

    και τουλάχιστον αυτό το λάθος θα πάψει να σε ενοχλεί :) Δεν ξέρω αν το υπόλοιπο δουλεύει όπως είναι, δεν προλαβαίνω να το κοιτάξω με λεπτομέρεια.

     


    The people of the straight land have really got it made, a warm friendly sleep from the craddle to the grave
  •  26-05-2008, 16:22 42414 σε απάντηση της 42411

    Απ: Re: Πρόβλημα με FileUpload + FormView

    Ναι αυτό ήταν. Το είχα μπροστά μου και δεν το έβλεπα! Ευχαριστώ πάντως. Τώρα έχω άλλο λάθος. Μου λέει ότι το IdentTitle είναι null. Υπάρχει καμιά συνάρτηση που μπορώ να πάρω το περιεχόμενο του control που είναι μέσα στο FormView?

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems