10. september 2007 - 10:41Der er
9 kommentarer og 1 løsning
Indsæt i databasen
Jeg er lige gået fra PHP/MySQL til ASP.net/MSSQL og har derfor et begynder problem.
Når jeg forsøger at sætte data ind i min tabel i min MSSQL database så sætter den alle felterne til NULL undtaget mit id felt, den sætter altså en ny post ind, men den får bare ikke mine data rigtigt.
Sådan ser min kode ud: <asp:SqlDataSource ID="CreatUser" runat="server" ConnectionString="<%$ ConnectionStrings:MyConnection %>" SelectCommand="SELECT username, password, email FROM users" InsertCommand="INSERT INTO users (username, password, email) VALUES (@username,@password,@email)"> <InsertParameters> <asp:FormParameter Name="username" formfield="reg_name" /> <asp:FormParameter Name="password" formfield="reg_pass" /> <asp:FormParameter Name="email" formfield="reg_mail" /> </InsertParameters> </asp:SqlDataSource>
og længere nede har jeg noget textbokse som ser sådan her ud: <asp:TextBox ID="reg_name" runat="server"></asp:TextBox>
og det hele står i en Citat: <form id="form_register" runat="server">
Håber der er en som lige vil hjælpe mig igang her.
Hvis du skal hente parameterværdier fra KONTROLLER så skal du vise det på denne måde, f.eks.: <asp:ControlParameter ControlID="reg_name" Name="username" PropertyName="Text" />
Jeg har prøvet at sætte de ControlParametere ind, men den laver stadig fejl, muligvis fordi jeg sætter dem ind et forkert sted. Hvis jeg holder musen over dem skriver den: "Element 'ControlParameter' it not a known element. (Det er Visual Web Developer 2005 der siger det)
Måden at undgå den slags problemer er at arbejde i designeren. Når du derinde klikker på din SqlDataSource, så har den en smarttag - den lille trekant. Når man klikker på den så åbner der sig en menu hvor du kan sige "configure datasource". Hvis du nu løber igennem den wizard, så kan du et sted angive at du har parametre og hvor de skal hentes henne. Leg lidt med det - så kan du se hvilken source kode den laver i hvert tilfælde.
<script runat="server"> Sub sendReg(ByVal sender As Object, ByVal e As System.EventArgs) CreatUser.Insert() labelReg.Text = "<p><strong>Brugeren er nu oprettet. Du vil modtage en email i løbet af få minutter.</strong></p>" End Sub </script>
Jeg bemærker at du ikke bruger code-behind. Det er en genial opfindelse som skiller din kode fra din præsentation. Du kan få lavet en code-behind fil når du laver en ny side i VWD og markerer at koden skal lægges i en separat fil.
Jeg syntes C#, VB og ASP.net ligner hinanden til forveksling, men C# er nok det jeg havde nemmest ved, men også arbejdet mindst med.
Jeg er sikker på at når jeg først er kommet ordentligt igang med asp.net så vender jeg ikke tilbage til php selvom jeg ellers har været glad for php før.
Hvis du lige poster et svar så får du dine velfortjente points.
Ok - god fornøjelse:) Du kan bruge VB eller C# i ASP.NET - de ting som ASP.NET tilbyder ved begge sprog er stort set ens. MAn kan faktisk i samme projekt have både C# og VB ting ! :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.