29. juli 2003 - 19:25Der er
12 kommentarer og 1 løsning
data til database - men hvordan?
jeg er ved at lave en hjemmeside med C# og jeg har en boks som brugeren indtaster en mailadresse.. den adresse vil jeg gerne have ind i en database!! men hvordan? og hvilken database skal det være?? xml, access eller hva?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
lige et supplerende spørgsmål.. hvordan slipper jeg for databasen bliver fyldt med data som ik er fx. mailadresser? kan man gøre sådan at dataen kun bliver sendt videre hvis der i boksen er skrevet @ og . ??
ja men det betyder nødvendigvis ikke at du vil have databasen samme sted selvom det sikkert er tilfældet her. jeg kører selv fbsd med en del databaser og har også en iis server med .net kørende som bruger mysql databasen på fbsd du antager han kun vil bruge windows .. jeg ved ikke hvad han vil.
hvis du bruger visual studio .net så vælger du bare designeren og trækker et regxp validator ind på siden og vælger dit input felt i properties og siger det skal matche .*@.*\..*
ellers går vælger du html koden og sætter noget ligende dette ind
E-mail: <asp:textbox id="textbox1" runat="server"/> <asp:RegularExpressionValidator id="valRegEx" runat="server" ControlToValidate="textbox1" ValidationExpression=".*@.*\..*" ErrorMessage="* Your entry is not a valid e-mail address." display="dynamic">* </asp:RegularExpressionValidator>
Med access (som du ikke bør "go public" med, medmindre det er et lille site) vil dette sikkert dú:
<asp:textbox ID="wmessage" TextMode="MultiLine" runat="server" /> <asp:requiredfieldvalidator ControlToValidate="wmessage" EnableClientScript="false" runat="server" ErrorMessage="Hvorfor submitter du uden at skrive noget" /><br /> <!-- submit --> <asp:button Text="Skriv i bogen" runat="server" OnClick="Insert_Click" />
------------------------------------
C-Sharp:
/********skriver til db *********/ public void CreateMyOleDbCommand() { string sMessage = Request.Form["wmessage"]; /* opret connection og SQL query*/ string myExecuteQuery = "INSERT INTO tabelNavn (message) VALUES (" + "'" + sMessage + "'" + ")"; string myConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;"; myConnectionString += @"Data Source=c:\inetpub\data.mdb"; /* ok alt er oprettet, åben og kør det */ OleDbConnection myConnection = new OleDbConnection(myConnectionString); myConnection.Open(); OleDbCommand myCommand = new OleDbCommand(myExecuteQuery, myConnection); myCommand.ExecuteNonQuery(); myConnection.Close(); }
/** skriver til Access Database hvis alt er udfyldt korrekt */ private void Insert_Click(object sender, EventArgs e) { bool MessageIsValid = false; if (IsPostBack) { /* er feltet message udfyldt */ if (Request.Form["wmessage"] != "") { MessageIsValid = true; } } if (MessageIsValid == true) { /* ok alt er udfyldt, kør CreateMyOleDbCommand */ CreateMyOleDbCommand(); } else { // der er fejl, alt er ikke udfyldt return; } }
Firebird kunne være et fint alternativ til MS SQL (og til dels MSDE), omend det ikke er så nemt som fx. access at have med at gøre.
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.