Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Undvika Dubbelpostning?

Postades av 2004-05-05 12:10:52 - Jesper Lind, i forum asp.net generellt, Tråden har 1 Kommentarer och lästs av 471 personer

Detta har säkert tagits upp innan fast kunde inte hitta något om det när jag sökte. Alltså hur gör man för att undvika dubbel postning på enklast sätt? Här kommer den aktuella koden jag använder.


<code>
void ForumPost_Click(Object sender, ImageClickEventArgs e)
{
if (Page.IsValid)
{
OleDbConnection conn = new OleDbConnection (ConfigurationSettings.AppSettings["ConnectionString"]);
string strTopic = Request.Form["Topic"];
string strEntryText = Request.Form["EntryText"];
string strLocation = Request.Form["Location"];
string strEmail = Request.Form["Email"];
string strName = Request.Form["Name"];
string strSQL = "INSERT INTO tbl_forum (topic,entry_text,location,email,name) VALUES (''" + strTopic + "'',''" + strEntryText + "'',''" + strLocation + "'',''" + strEmail + "'',''" + strName + "'')";

//Response.Write(strSQL);
conn.Open();
OleDbCommand objCommand = new OleDbCommand(strSQL, conn);

objCommand.ExecuteNonQuery();
Topic.Text="";
EntryText.Text="";
Location.Text="";
Email.Text="";
Name.Text="";

divMessage.InnerHtml = "<font class=red> Thank you! Your message has been inserted. </font>";
}
}
</code>


Svara

Sv: Undvika Dubbelpostning?

Postades av 2004-05-05 13:37:46 - Raderat konto

Jag har två förslag. Byt din Access Db (jag utgåt ifrån att du använder Access) till MSDE. Då kan du skapa en enkel Stored Procedure som t.ex. kollar på förekomsten av en e-post adress:
<code>
CREATE PROCEDURE AddUniqueUser
{
@Name nvarchar(100),
@Email nvarchar(150)
}

IF EXISTS
(
SELECT Email FROM CustomerTable WHERE Email = @Email
)

RETURN 1

ELSE
INSERT INTO CustomerTable (Name, Email) VALUES (@Name, @Email)
</code>
Du bör också använda Parametrar (@Location, @Email etc.) för att undvika injektion problem, fnuttar o.dyl. oavsett om du väljer att behålla din Access DB.

Du kan självklart utföra det jag beskriver ovan utan en SPROC, genom att ta två runder till DB. Du kan t.ex. göra en ExecuteScalar såhär först:

SqlCommand cmd = new SqlCommand("SELECT COUNT(Email) FROM tbl_forum WHERE Email = @Email", con)
con.Open();
int checkEmail = cmd.ExecuteScalar();
con.Close();

if (checkEmail > 0)
{
  //INSERT i Databasen
}


Svara

Nyligen

  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 901
27 965
271 779
741
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies