Forum > ASP.NET 1.x och 2.x > Generella frågor
Håller på att göra en gästbok till min hemsida. Har gjort databasen och adminfunktion så man kan ändra, lägga till och ta bort poster i den.
(Jag ska tillägga att jag är novis som sitter och knåpar i "Visual Web dveloper 2008 Express Edition" och använder mycket redan färdiga funktioner så mina kunskaper är inte på topp. )
Det svåra är att göra funktionen för att posta nya data i den. Jag har gjort ett form med två stycken TextBox i. de har namnen nametextBox och messTextBox.
Sedan har jag en knapp under det. Den ska vi tryckning utföra min SQL sats. Men jag fattar inte hur det ska gå till. Jag vet att databasen måste öppnas och sen ska SQL-saten utföras och sen måste databasen stängas igen. Jag har tittat på folks exempel och kopierat och klistat och allt jag kan tänka mig men det blir alltid något fel. Databasen heter enkelt "database.mdb" och tabellen heter tblGuestbook.
Finns det kanske enklare sätt annars?
Någon som kan hjälpa mig??? Please
Hej!
Om du vill spara och hämta information från någon databas så finns det tyvärr inget enklare sätt än att använda sig av SQL, koppla upp sig till databasen och sedan spara alla data.
Jag förutsätter att du kan grundläggande (x)html och asp. Jag förutsätter även att du vet vad SQL är samt dess grunder, d.v.s. hämta, skicka och radera data från en databas. Så jag behöver inte berätta att du ska ha en submit-knapp istället för en button-knapp i formuläret för att posta o.s.v., right? Men jag ska försöka förklara ganska så basic ändå!
Det du behöver göra är att sätta en action på din form, t.ex.
<form method="post" action="AddPost.asp" name="Guestbook">På den sidan kan du sedan lägga in din ASP-kod som ska hantera all data/information, d.v.s. informationen nameTextBox och messTextBox. Det kan du göra på olika sätt, men för att visa ett snabbt och enkelt sätt:
nameTB = Request.Form("nameTextBox")
messTB = Request.Form("messTextBox")Sedan är det bara att skicka in den i databasen med hjälp av din SQL kod:
INSERT INTO guestbook_table(name,mess) VALUES('"&nameTB&"' ,'"&messTB&"')Det är nog det snabbaste och enklaste sättet.
Kom ihåg att jag inte skyddar mot SQL-Injections i det här exemplet, men det får du göra.
Om du vill veta mer om hur man kopplar sig till en databas, så kan du läsa denna artikel:http://www.aspkoll.se/ArticlesRead.asp?id=48, den visar hur man skapar en gästbok i ASP och jobbar mot en access databas.
Hoppas det hjälpte!
ska tillägga tt jag jobbar med ASP.NET. kanske har postat i fel forum. Det är just det här med att öppnsa databsen jag har störst problem med. har som sagt klistrat in olika kodexempel jag hittat online men får alltid olika felmeddelanden och sådana saker. Skulle behöva en riktigt bra guide på svneks som beskriver klasser och så vidare. vet du någon får du gärna länka en.
Om du jobbar med css så kan jag ge dig alla egenskaper jag använder.
Min databas klass: (App_Code/Database.cs)
Exempel på hur den används:
Select:
Database DB = new Database(Server.MapPath("App_Data\\databas.mdb"));
string SQL = "SELECT * FROM table";
DB.ExecuteQuery(SQL);
DB.Close();
Insert:
Database DB = new Database(Server.MapPath("App_Data\\databas.mdb"));
string SQL = "INSERT INTO tabel(kolumn) VALUES('"+ värde +"')";
DB.InsertQuery(SQL);
DB.Close();
om jag använder den så får jag röd markering på DB.InsertQuery(SQL);
Kompilatorfelmeddelande: CS1061: Database innehåller inte en definition för InsertQuery och det gick inte att hitta någon InsertQuery-tilläggsmetod som accepterar ett första argument av typen Database (saknas ett using-direktiv eller en sammansättningsreferens?)
Källfel:
Rad 25: string SQL = "INSERT INTO tblGuestbook(name, message) VALUES('" + @name + "','" + @mess + "')";
Rad 26:
Rad 27: DB.InsertQuery(SQL);
Rad 28:
Rad 29: DB.Close();
|
Redigerad av Nanabush
Anledning:
Fwaky's dataklass är inte bra alls. Tänk om du utvecklar en applikation som använder 100 SQL-queries, och arbetsgivaren säger till dig att byta databas, vad får du göra då? Ändra på varje rad där databaskopplingen finns. Dessutom anropar du Close() hela tiden, det hade du inte behövt om du implementerar interfacet IDisposable och omsluter din databasanslutning med {} samt använder using. Using anropar per automatik connection.Close(); command.Dispose(); connection.Dispose();
Mer information här:
http://blog.crswebb.se/post/2008/07...SQL-Server.aspx
Fwaky's dataklass är inte bra alls. Tänk om du utvecklar en applikation som använder 100 SQL-queries, och arbetsgivaren säger till dig att byta databas, vad får du göra då? Ändra på varje rad där databaskopplingen finns. Dessutom anropar du Close() hela tiden, det hade du inte behövt om du implementerar interfacet IDisposable och omsluter din databasanslutning med {} samt använder using. Using anropar per automatik connection.Close(); command.Dispose(); connection.Dispose();
Mer information här:
http://blog.crswebb.se/post/2008/07...SQL-Server.aspx
Ser du till att du skapat ett objekt vid namn DB?
Men om jag tar din kod pbf. Ska jag skapa en ny class och klista in all texten i en blank sida eller? och vad i koden behövs ändras för att få den personlig för mig???
måste ha grundliga tips för jag får inte ihop detta alls.. Sånt e livet som novis
Redigerad av Nanabush
Anledning: