Avatar billede wedia Nybegynder
27. februar 2007 - 15:11 Der er 16 kommentarer og
1 løsning

asp.net nybegynder

Hej Eksperten,

Jeg er helt ny når det kommer til asp.net / C#, men jeg har mange års erfaring med asp3 og vbscript.

Men i forbindelse med at jeg nu rykker over på .net platformen, har jeg nogle spørgsmål, jeg gerne vil have svar på disse er :

1.    Jeg har en connectionstring til en mssql DB  som ser sådan her ud :
den virker fint, 

IDbConnection Conn = new SqlConnection("server=server.dk;uid=username;pwd=password;database=databasename;");

IDbCommand Cmd = Conn.CreateCommand();

Og den virker fint, så mit spørgsmål er at hvis man gerne vil have tilgang til denne Conn på alle sine sider, hvordan gør man så, jeg ved at man kan ”inkluder” en kode fil, men jeg har også set et VB eks hvor Conn’en var i web.config filen, kan man også det hvis man bruger C#, og hvis ja hvordan skal det så se ud ?  og hvilken at de to typer er smartes?


2.    I det gamle Asp3 ville man hvis, man havde flere funktioner som mere eller mindre hang sammen placer dem i en fil for sig  som man så kunne inkluder på de sider hvor de funktioner skulle bruges, lidt som de ”inklude” kode filer som er i asp.net, men så vidt jeg forstår så kan man kun inkluder en af disse på sin asp.net side, hvor man i asp3 kunne inkluder lige så mange man havde lyst til er det rigtigt eller ? 

3.    Hvis jeg skal udskrive specifik data fra en db, ville det i asp3 se sådan her ud :

dim ConnString, Conn
ConnString = "Driver={MySQL ODBC 3.51 Driver}; Server=mydb3.surftown.dk; "
ConnString = ConnString & "DATABASE=Kompete_Systemcore; "
ConnString = ConnString & "UID=Kompete_Control; "
ConnString = ConnString & "PASSWORD=businesscard; "

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString

Str_User_Sql = ”Select * From Users Where User_Status = ’guest’”
Set Str_User = Conn.Execute(Str_User_Sql)

If not Str_User.EOF Then

Response.write(“User Name : “ & Str_User(“User_Name”))

Else

Response.Write(“No User Found”)
End if

Jeg har fundet et  asp.net eks. I VB :

OdbcConnection Conn = new OdbcConnection();
    Conn.ConnectionString = "Driver={mySQL};Server=database_server;Port=3306;Option=131072;Stmt=;Database=database;Uid=username;Pwd=password;";

    Conn.Open();
   
    string test = "guest";
    string strSQL = "SELECT * FROM Users Where User_Status =" + test;
    OdbcCommand newCom = new OdbcCommand(strSQL, Conn);

    OdbcDataReader reader = newCom.ExecuteReader(CommandBehavior.CloseConnection);
while(reader.Read())
{
  Response.Write("User Name : " + reader["User_Name"].ToString());
}

reader.Close();




som gør stort set det samme men det bruger desværre en odbc Conn. Og jeg har ikke mulighed for at bruge odbc på den server jeg har til rådighed, så hvordan ville det se ud i C# og hvor den Conn fra spørgsmål blev brugt ?  og hvad gør .Read() ?


4. Til sidst er der nogle der kender til en Dictionary til C#, svarende til den adobe har til flash actionscript. Hvor man kan se de enkelte ”komponenters” funktion og brug.
Avatar billede kalp Novice
27. februar 2007 - 15:16 #1
1.

opret den i din web.config..

<appSettings>
<add key="DatabaseString" value="din connection string" />
</appSettings>

den del skal ind under configeration.

og hent den i koden med

ConfigurationSettings.AppSettings["DatabaseString"];
Avatar billede kalp Novice
27. februar 2007 - 15:17 #2
2.

Evt. lave en C# klasse som smide det i en mappe "App_Code" i dit webprojekt.. så kan du kalde metoderne i den klasse
Avatar billede mrbonus Novice
27. februar 2007 - 15:19 #3
Tager dem lige i en forkert rækkefølge, hehe

4. Du kan bare stille dig på et klassenavn, og trykke "F1", så kommer du ind i opslagsværket, eller du kan trykke "Ctrl + Alt + F2", eller du kan kigge på MSDN.COM der kan du også finde hele opslagsværket
Avatar billede kalp Novice
27. februar 2007 - 15:20 #4
3.  kunne evt. være

    SqlConnection connection = new SqlConnection(ConfigurationSettings.AppSettings["DatabaseString"]);
            SqlCommand command = new SqlCommand();
            connection.Open();
            command.Connection = connection;
            command.CommandText = "SELECT * FROM TABEL";
            SqlDataReader reader = command.ExecuteReader();

            while (reader.Read())
            {
                Response.Write((string)reader["enkolonne"]);
            }
Avatar billede kalp Novice
27. februar 2007 - 15:21 #5
4. jeg kender ikke til det du referere til, men kender godt til klassen Dictionary i .NET
Avatar billede mrbonus Novice
27. februar 2007 - 15:22 #6
2. Inklude i ASP3 er for mig, meget forvirrende, da det ødelægger den objektorienterede tankegang, men du kan lave statiske metoder, og variabler, som du kan tilgå fra alle steder i din applikation, dette vil også gælde for ( nr 1 ) din conn kan du også lave statisk, så du kan tilgå den alle steder fra
Avatar billede kalp Novice
27. februar 2007 - 15:24 #7
2. Du kan vidst også include ved blot at skrive

Response.WriteFile ("dinFil.inc");

og et svar hvis du kunne bruge noget af det jeg skrev.
Avatar billede arne_v Ekspert
27. februar 2007 - 15:27 #8
3)

Du kan hente MySQL Connector for .NET - du skal bare uploade en enkelt DLL med
din web app, saa virker det.

.Read() koerer frem til naeste raekke (returnerere true hvis der er en naeste raekke,
efter ExecuteReader staar man foer den foerste raekke)
Avatar billede arne_v Ekspert
27. februar 2007 - 15:28 #9
Response.Write

er en ASP'isme - i ASP.NET boer du bruge en eller anden web kontrol
evt. en repeater
Avatar billede wedia Nybegynder
27. februar 2007 - 15:32 #10
hvad er en repeater og hvordan bruges den ?

og kan man lave en :

If not Str_User.EOF Then

Response.write(“User Name : “ & Str_User(“User_Name”))

Else

Response.Write(“No User Found”)
End if

i asp.net udgave
Avatar billede kalp Novice
27. februar 2007 - 15:33 #11
nej det kan du ikke..

så hedder det..

if(rs.HasRows)
gør det her.
else
while(rs.Read())
gør dette
Avatar billede kalp Novice
27. februar 2007 - 15:34 #12
hovsa..

if(!rs.HasRows)
gør det her.
else
while(rs.Read())
gør dette
Avatar billede wedia Nybegynder
27. februar 2007 - 15:41 #13
er rs i den forbindelse = reader eller ?
Avatar billede kalp Novice
27. februar 2007 - 15:43 #14
ja:P


rs = reader.. sorry;)

den kode kan også skrives som

if(reader.hasRows)
{
while(reader.Read())
{
}
}
else{
Response.Write("Intet fundet.");
}

Det er umuligt at forklare alt på et par linjer herinde.. du er nok nød til at læse/prøve dig frem også:) (hvis du f.eks vil lære om repeater.

repeater med eksempel her.
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater(VS.71).aspx

og hvis du har skrap.
http://www.codeproject.com/useritems/Repeater_QuickTutorial.asp
Avatar billede wedia Nybegynder
27. februar 2007 - 15:43 #15
det var det :)
Avatar billede wedia Nybegynder
27. februar 2007 - 15:44 #16
det er perfect 1000 tak for hjælpen !
Avatar billede kalp Novice
27. februar 2007 - 15:47 #17
ingen årsag:)
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