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

 

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

Aπό φόρμα σε βάση δεδομένων - πρόβλημα στην ανάγνωση των textbox

Îåêßíçóå áðü ôï ìÝëïò SotirisBK. Τελευταία δημοσίευση από το μέλος SotirisBK στις 11-03-2009, 20:51. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  11-03-2009, 17:22 49095

    Aπό φόρμα σε βάση δεδομένων - πρόβλημα στην ανάγνωση των textbox

    Καλησπέρα.Φτιάχνω μια εφαρμογή σε ASP.NET για πρώτη φορά.Χρησιμοποιώ μία φόρμα για να περνάω ένα insert query στη βάση δεδομένων.Ο κώδικας που χρησιμοποιώ είναι ο εξής:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Systima_Bebaiwsewn_Synergasias._Default" %>

    <%@ Register assembly="System.Web.DynamicData, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.DynamicData" tagprefix="cc1" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" ><head id="Head1" runat="server">
        <title></title>

        <script runat="server">
            private void InsertPartner(object source, EventArgs e)
            {
                DataSource1.Insert();
            }
         </script>
    </head>

    <body bgcolor="#999999">
        <form id="form1" runat="server">

          Προσθήκη συνεργάτη<br />

          ΑΤ
          <asp:textbox
               id="ATBox"
               runat="server" />

          <asp:RequiredFieldValidator
            id="RequiredFieldValidator1"
            runat="server"
            ControlToValidate="ATBox"
            Display="Static"
            ErrorMessage="Παρακαλώ σημπληρώστε το πεδίο." />

          <br />
          Όνομα
          <asp:textbox
               id="NameBox"
               runat="server" />

          <asp:RequiredFieldValidator
            id="RequiredFieldValidator2"
            runat="server"
            ControlToValidate="NameBox"
            Display="Static"
            ErrorMessage="Παρακαλώ σημπληρώστε το πεδίο." />
          <br />
          Επώνυμο
          <asp:textbox
               id="SurNameBox"
               runat="server" />

          <asp:RequiredFieldValidator
            id="RequiredFieldValidator3"
            runat="server"
            ControlToValidate="SurNameBox"
            Display="Static"
            ErrorMessage="Παρακαλώ σημπληρώστε το πεδίο." />
          <br /><asp:button
               id="Button1"
               runat="server"
               text="Προσθήκη"
               onclick="InsertPartner" />

      <asp:sqldatasource id="DataSource1" runat="server" connectionstring="<%$ ConnectionStrings:Systima_Bebaiwsewn_DBConnectionString %>"
                                  selectcommand="SELECT Surname FROM Prosopiko"
                                  insertcommand="INSERT INTO Prosopiko (AT,Name,Surname) VALUES (@AT_,@Name_,@Surname_)" >
                                   <insertparameters>
                                    <asp:formparameter name="AT_" formfield="ATBox" />
                                    <asp:formparameter name="Name_" formfield="NameBox" />
                                    <asp:formparameter name="Surname_"  formfield="SurNameBox" />
                                   </insertparameters>
                        </asp:sqldatasource>
                   
     </form></body></html>



    Το πρόβλημα που παρουσιάζεται είναι ότι ουσιαστικά δεν περνάνε τα δεδομένα που έγραψε ο χρήστης από τα textbox στο sql query.
    Αν όμως εκεί που τα γράμματα είναι ροζ βάλω απλές τιμές(πχ. έναν αριθμό για το κάθε πεδίο) τότε περνάνε κανονικά στη βάση.Προφανώς στο σημείο που περνάω τις παραμέτρους(μπλε γράμματα) κάτι δε λειτουργεί σωστά.Έχει κανείς καμιά ιδέα τι μπορεί να φταίει?

    Ευχαριστώ εκ των προτέρων και μόνο για την ανάγνωση ελπίζω να μην έγινα πολύ κουραστικός
  •  11-03-2009, 18:14 49097 σε απάντηση της 49095

    Απ: Aπό φόρμα σε βάση δεδομένων - πρόβλημα στην ανάγνωση των textbox

    Το όνομα μίας παραμέτρου περιλαμβάνει και το @ στην αρχή της. Για παράδειγμα, αντί για name="AT_" θα πρέπει να γράψεις name="@AT_"


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  11-03-2009, 20:51 49106 σε απάντηση της 49097

    Απ: Aπό φόρμα σε βάση δεδομένων - πρόβλημα στην ανάγνωση των textbox

    Παναγιώτης Καναβός:

    Το όνομα μίας παραμέτρου περιλαμβάνει και το @ στην αρχή της. Για παράδειγμα, αντί για name="AT_" θα πρέπει να γράψεις name="@AT_"




    http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasourceview.insertparameters.aspx

    O κώδικάς μου είναι κατ'εικόνα και ομοίωση του παραπάνω link.

    Δοκίμασα να βάλω

                                    <asp:formparameter name="@AT_" formfield="ATBox" />
                                    <asp:formparameter name="@Name_" formfield="NameBox" />
                                    <asp:formparameter name="@Surname_"  formfield="SurNameBox" />

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Must declare the scalar variable "@AT_".

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