Avatar billede boox Nybegynder
29. juli 2003 - 19:25 Der 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?

thx!
Avatar billede boox Nybegynder
29. juli 2003 - 19:29 #1
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 . ??
Avatar billede arne_v Ekspert
29. juli 2003 - 19:29 #2
Det er jo et bredt spørgsmål.

Access (Jet) er nemt at komme igang med.

Men MSDE vil være at foretrække, hvis du skal være forberedt på
at kunne skalere i fremtiden.


Har du styr på ADO.NET ?
Avatar billede arne_v Ekspert
29. juli 2003 - 19:31 #3
Du bør jo lave noget data validering som checker om der
er:
mere end et tegn, @, mere end et punktum med mere end et tegn på hver side
Avatar billede simonvalter Praktikant
29. juli 2003 - 19:40 #4
ved godt det ikke er spm .. men når arne_V nu nævner det så brug en RegularExpressionValidator
ValidationExpression=".*@.*\..*"

jeg ville nok selv bruge mysql da den kan køre på de fleste platforme og er gratis.
Avatar billede simonvalter Praktikant
29. juli 2003 - 19:40 #5
nå det var vist også spm =)
Avatar billede arne_v Ekspert
29. juli 2003 - 19:46 #6
MSDE er så vidt jeg ved også gratis.

Og jeg har en formodning om at det er C# på Windows platform.
Avatar billede simonvalter Praktikant
29. juli 2003 - 19:54 #7
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.
Avatar billede arne_v Ekspert
29. juli 2003 - 19:58 #8
Da han overvjede XML og Access så formoder jeg at det er samme system.

Og tag ikke fejl - jeg bruger også selv MySQL - og er glad for den
(ihvertfald for dens performance). Jeg ville til enhver tid foreslå
MySQL til PHP.

Men jeg blander sjældent.
Avatar billede boox Nybegynder
29. juli 2003 - 20:27 #9
jeg er ny i database så ved ik så meget...

med hensyn på ValidationExpression="..
er det indviklet for har kigget på MSDN Library og det ser meget inviklet ud
Avatar billede simonvalter Praktikant
29. juli 2003 - 20:33 #10
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>
Avatar billede arne_v Ekspert
18. august 2003 - 23:48 #11
boox>

Tid at lukke spørgsmålet ?
Avatar billede pelkjaer Nybegynder
19. august 2003 - 00:18 #12
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;
  }
}
Avatar billede pelkjaer Nybegynder
19. august 2003 - 00:25 #13
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester