Avatar billede want2learn Nybegynder
24. marts 2005 - 11:46 Der er 9 kommentarer

hvad er forskellen på 3.0 og net

Hej

Jeg har kigget en del på .Net og synes at det er noget nemmere at sætte op end 3.0 har dog lidt spm. and evt en database conn.

Normalt i 3.0 laver jeg dette

<...code start...>
Sub OpenDBText

Const cnstDBPath = "inklude/database.mdb"
 
  Dim strProvider
  strProvider = ""
  strProvider = strProvider & "Provider=Microsoft.Jet.OLEDB.4.0;"
  strProvider = strProvider & "Data Source=" & Server.MapPath(cnstDBPath) & ";"
  strProvider = strProvider & "Persist Security Info=False"
 
  Set objConn1 = Server.CreateObject("ADODB.Connection")
  objConn1.Open strProvider
End Sub
<...code slut...>

der er min conn til en database som jeg så inkluder på den side hvor den skal bruges og kalder den med

<...code start...>
Call OpenDBText 'Åbning af databasen for text

strSQL1 = "SELECT [TID],[TEXT],[TDATE] FROM sitetext WHERE [TID] = 1"
Set objRS1 = objConn1.Execute(strSQL1)

strTekst = objRS1("TEXT")
strTID = objRS1("TID")
strIttb = objRS1("TDATE")
strIttb = replace(strIttb," ","")
strIttb = replace(strIttb,":","")
strIttb = replace(strIttb,"-","")
<...code slut...>

men kan dette ikke laves lettere i .Net og evt hvordan... for når man kigger på en form evt. så er det jo dejligt nemt med evt.

<...code eks start...>
<asp:Textbox runat="server" id="cpost" />
<asp:RequiredFieldValidator id="r_cpost" runat="server"
controlToValidate="cpost"
errorMessage="Du skal indtaste et postnr."
display="none" />
<asp:RequiredFieldValidator id="r_cpost_range" runat="server"
controlToValidate="cpost"
type="Integer"
minimumValue="1000"
maximumValue="9999"
errorMessage="Du skal indtaste et rigtigt postnr."
display="none" />
<...code eks slut...>

det er jo en del nemmere end det gamle 3.0 hvor man så skulle lave et langt JS eller VB script for at kunne klare errors mm.

det synes jeg PT.. :) men nogle der vil hjælpe med mit sp og lige en ting hvis jeg ikke er 100% inde i .Net kan jeg så anvende ting fra alm. 3.0 !?
Avatar billede arne_v Ekspert
24. marts 2005 - 11:49 #1
Avatar billede snepnet Nybegynder
24. marts 2005 - 12:14 #2
// en forbindelse
OleDbConnection connection = new OleDbConnection(String.Format(connectString, Server.MapPath("Data/SomeDatabase.mdb")));

// et kommandoobjekt
OleDbCommand command = new OleDbCommand("SELECT * FROM TblSomething where SomeString = @pSomeString", connection);

// en adapter
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
try
{
    // hent data til dataset
    DataSet ds = new DataSet("SomeDataSet");               
    adapter.Fill(ds);
   
   
    // og lidt til fremvisning her
    DataGrid someGrid = new DataGrid();
    someGrid.DataSource = ds;                   
    someGrid.DataBind();                                           
   
    // ind med griddet ...
    Form1.Controls.Add(someGrid);
}

// lidt fesent - men det er bare demo
catch (Exception ex)
{
    Response.Write(ex.Message);
}

Det er bare sådan en typisk "hvis en liste-side"..... Du kan bare sige til hvis du vil have nogle flere eksempler :o)

mvh
Avatar billede snepnet Nybegynder
24. marts 2005 - 12:20 #3
ups ... det var egentlig planen er der ikke skulle have været noget med parametre (endnu ;o) - såhh.... du kan lige skifte denne her :

OleDbCommand command = new OleDbCommand("SELECT * FROM TblSomething where SomeString = @pSomeString", connection);

ud med den her :

OleDbCommand command = new OleDbCommand("SELECT * FROM TblSomething", connection);

mvh
Avatar billede snepnet Nybegynder
24. marts 2005 - 12:30 #4
Den måde du så inkluderer det på en given side er så lidt anderledes... .NET er "rent" objektorienteret, så du vil typisk lave dig en art datalag i form af en klasse.

hvis du tager eksemplet fra før - er det jo en herlig blanding af lidt databaseadgang, og lidt præsentationskode - og der kunne du jo så med fordel segmentere det lidt... eksempel :

public class MiniDal
{
  public DataSet GetSomeData()
  {
    OleDbConnection connection = new OleDbConnection(String.Format(connectString, HttpContext.Current.Server.MapPath("Data/SomeDatabase.mdb")));

    OleDbCommand command = new OleDbCommand("SELECT * FROM TblSomething where SomeString = @pSomeString", connection);

    OleDbDataAdapter adapter = new OleDbDataAdapter(command);

    DataSet ds = new DataSet("SomeDataSet");               
    adapter.Fill(ds);
   
    return ds;
  }
}
(det skal ikke stå her som en anbefaling angående strukturering af et datalag ell... det er bare sådan en slags illustration).

på din form hvor du vil vise data til en bruger... kunne du så have noget i denne stil :
(ved ikke om du arbejder med code-behind eller hvad du gør... så du får bare linierne)

// i din aspx-fil :
<asp:DataGrid id="someGrid" runat="server" />

og... hvor du så lægger din server-kode
MiniDal dal = new MiniDal();
someGrid.DataSource = dal.GetSomeData();
someGrid.DataBind();

...

Kan jeg få dig til at skrive om du bruger en eller anden editor til det du laver (visual studio, webmatrix ell.) ?

mvh
Avatar billede want2learn Nybegynder
24. marts 2005 - 18:34 #5
Hej

Jeg bruger dreamweaver MX men laver coden selv ikke de eks den har hvorfor !??

KAN jeg bruge ASP 3.0 i .Net !?? eller skal jeg hvis jeg laver en form så også bruge .Net til at hente data i formen som er indtastet eller kan jeg request fra 3.0 til dette så bare hente fra id'en !?
Avatar billede snepnet Nybegynder
24. marts 2005 - 18:44 #6
hej igen :o)

"bare hente fra id'en !?" - der tabte du mig.....

men.... du kan som udgangspunkt ikke oprette dig et eller andet objet ved asp 3.0, og så tilgå det fra noget .net kode... det er to forskellige runtime-miljøer det kører i.
der er dog løsninger på at dele sessions mellem de to miljøer.

så vidt jeg er bekendt har dreamweaver mx da en hel del .net understøttelse, og jeg kan ikke som udgangspunkt anbefale dig at besere din løsning på et mix mellem en asp 3.0 og en .net verden (og kan heller ikke helt forstår hvorfor du ville gøre det).... som arne plejer at sige, så har de de 3 første bogstaver til fælles - og så ophører lighedspunkterne (måske en overdrivelse, men lige i denne forbindelse er en overdrivelse bedre end en underdrivelse).

jeg kan desværre ikke svare dig på specifikke dreamweaver-spørgsmål, men der er sikkert også en kategori til den slags herinde.

mvh
Avatar billede want2learn Nybegynder
26. marts 2005 - 20:30 #7
læg venligst et svar
Avatar billede snepnet Nybegynder
26. marts 2005 - 20:58 #8
du får et her.
mvh
Avatar billede snepnet Nybegynder
07. september 2005 - 17:44 #9
kan vi lukke her?
mvh
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