Avatar billede 4u2x Nybegynder
22. juli 2002 - 12:30 Der er 22 kommentarer og
3 løsninger

200 til den der får det til at virke!

Koden skrives i C-Sharp, så jeg vil være mange gange taknemlig til den som får det hele til at virke.


Jeg får fejlene:
C:\Dokumenter\betachat\list.aspx(14,17): error CS1519: Invalid token '(' in class, struct, or interface member declaration
C:\Dokumenter\betachat\list.aspx(14,26): error CS1519: Invalid token ')' in class, struct, or interface member declaration
C:\Dokumenter\betachat\list.aspx(16,19): error CS1519: Invalid token '(' in class, struct, or interface member declaration
C:\Dokumenter\betachat\list.aspx(18,29): error CS1519: Invalid token '(' in class, struct, or interface member declaration
C:\Dokumenter\betachat\list.aspx(18,31): error CS1520: Class, struct, or interface method must have a return type
C:\Dokumenter\betachat\list.aspx(18,34): error CS1031: Type expected
C:\Dokumenter\betachat\list.aspx(21,5): error CS0116: A namespace does not directly contain members such as fields or methods
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\root\cc89471e\ac28b133\eubpk5ko.0.cs(65,16): error CS1518: Expected class, delegate, enum, interface, or struct
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\root\cc89471e\ac28b133\eubpk5ko.0.cs(90,25): error CS1518: Expected class, delegate, enum, interface, or struct
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\root\cc89471e\ac28b133\eubpk5ko.0.cs(105,25): error CS1518: Expected class, delegate, enum, interface, or struct
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\Temporary ASP.NET Files\root\cc89471e\ac28b133\eubpk5ko.0.cs(109,1): error CS1022: Type or namespace definition, or end-of-file expected


Og som nybegynder fatter jeg det ik helt endnu..

Her er min kode:


<%@ Page Language="C#" %>
<%@ import Namespace="Microsoft.Data.Odbc" %>
<script runat="server">

    public const string DB_CONN_STRING =
        "Driver={Microsoft Access Driver (*.mdb)}; "+
        "DBQ=C:\\dokumenter\\betachat\\data.mdb";
   
    ADOConnection conn = new ADOConnection(DB_CONN_STRING);
    conn.Open
   
    ADODataReader ;dr
    ADOCommand = cmd = new ADOCommand( "SELECT * FROM SchoolTable", conn );
    cmd.Execute ( out dr );
   
    while( dr.Read() )
    {
    System.Console.WriteLine( dr("SchoolName") );
    }
   
    Response.Write("Det virker, jubiii");

</script>
Avatar billede dgivoni Nybegynder
22. juli 2002 - 12:40 #1
du skal tilgå arrays med hård parentes, dvs. der skal stå
dr["SchoolName"] i stedet for.
Avatar billede 4u2x Nybegynder
22. juli 2002 - 12:47 #2
nu kommer der bare fejlen på den rettede linje:
C:\Dokumenter\betachat\list.aspx(18,29): error CS1519: Invalid token '(' in class, struct, or interface member declaration
C:\Dokumenter\betachat\list.aspx(18,34): error CS1003: Syntax error, ']' expected
Avatar billede odegaard Nybegynder
22. juli 2002 - 12:53 #3
Lyder lidt som om du har glemt at ændre et par parenteser i linjen System.Console.WriteLine( dr("SchoolName") );
Avatar billede odegaard Nybegynder
22. juli 2002 - 12:54 #4
18,34 betyder iøvrigt linje 18, tegn 34. Så faktisk skal du bare læse fejlteksten for at løse problemet :-)
Avatar billede jakobandersen Nybegynder
22. juli 2002 - 12:55 #5
Du skal ikke bruge Odbc når du skal tilgå access, det er meget lettere at bruge OleDb som sådan her:

<%@ Page Language="C#" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
    void Page_Load(){
        string strConnect = @"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:\Inetpub\wwwroot\Projects.mdb;";
        OleDbConnection objConn = new OleDbConnection(strConnect);
        OleDbCommand objCmd = new OleDbCommand( "SELECT SchoolName FROM SchoolTable", objConn);
        objConn.Open();
        OleDbDataReader objReader = objCmd.ExecuteReader( CommandBehavior.CloseConnection );
        while( objReader.Read() ){
            Response.Write( objReader.GetString(0) );
        }
        Response.Write( "Det virker, jubii" );
    }
</script>
Avatar billede dgivoni Nybegynder
22. juli 2002 - 12:58 #6
du har også et par andre fejl:
conn.Open();
ADODataReader dr;

virker det så?
Avatar billede odegaard Nybegynder
22. juli 2002 - 13:01 #7
aaah... nu kan jeg se det... du benytter Beta1-kode.
Avatar billede 4u2x Nybegynder
22. juli 2002 - 13:43 #8
tusind tak til jer, ved I hvor man kan finde alle sådanne koder KUN TIL Version 1, og ingen beta'er ? (på nettet)
Avatar billede 4u2x Nybegynder
22. juli 2002 - 13:47 #9
moonduck >> hvordan skriver jeg så andrer ting i sætningen hvor den udskriver fra db'en?

fx:
Response.Write(" En skole: objReader.GetString(0) ligger på ...");
Avatar billede jakobandersen Nybegynder
22. juli 2002 - 13:47 #10
Avatar billede jakobandersen Nybegynder
22. juli 2002 - 13:48 #11
Response.Write( "En skole: " + objReader.GetString(0) + " ligger på ..." );
Avatar billede 4u2x Nybegynder
22. juli 2002 - 13:51 #12
du GUDER du er for god til det, gør det noget hvis jeg får dit ICQ nummer, så jeg måske kunne kontakte dig for hjælp?
Avatar billede jakobandersen Nybegynder
22. juli 2002 - 13:55 #13
Jeg bruger ikke ICQ, men hvis du blot spørger her på eksperten skal jeg eller en anden nok fange dig. Pointstørrelsen er ubetydelig så du behøves ikke ligge 200 hver gang du har et spørgsmål
Avatar billede 4u2x Nybegynder
22. juli 2002 - 14:01 #14
hehe jep, men er squ blevet så træt af at få de forkerte koder i C-Sharp her på eksperten...

moonduck >> vil du ik have de 200 eller??
Avatar billede 4u2x Nybegynder
22. juli 2002 - 14:02 #15
glemte lige at spørge om din email!
Avatar billede jakobandersen Nybegynder
22. juli 2002 - 14:09 #16
Kan du ikke fordele de 200 mellem os alle tre, både odegaard og dgivoni havde også ret i det de sagde.

Min email er jakob@cartoonhero.dk, men jeg svarer ikke på spørgsmål pr. email. Jeg er af den holdning at alle spørgsmål skal stilles i et offentigt fora sådan at flere kan få gavn af dem.¨
Avatar billede 4u2x Nybegynder
22. juli 2002 - 14:20 #17
oki

odegaard >> LIG ET SVAR, DU SKAL OGSÅ HA POINT!!!
Avatar billede odegaard Nybegynder
22. juli 2002 - 15:23 #18
hehe jo tak, så skidt da :-)
Avatar billede 4u2x Nybegynder
22. juli 2002 - 20:59 #19
jeg har skrevet et par linjer her som henter ting 4 gange fra databasen som den åbenbart ik kan klare, her er koden:

void Page_Load(){
        string strConnect = @"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:\dokumenter\betachat\data.mdb;";
        OleDbConnection objConn = new OleDbConnection(strConnect);
        OleDbCommand objCmd = new OleDbCommand( "SELECT Id, SchoolName, SchoolAdress, SchoolWebsite FROM SchoolTable", objConn);
        objConn.Open();
        OleDbDataReader objReader = objCmd.ExecuteReader( CommandBehavior.CloseConnection );
        while( objReader.Read() ){
   
        Response.Write(" du er for meget " + objReader.GetString(0) + " d");
        Response.Write("<table width='100%' border='0'><tr>");
        Response.Write("<td width='30%'>Skolen: " + objReader.GetString(1) + "</td>");
        Response.Write("<td width='30%'>Sted: " + objReader.GetString(2) + "</td>");
        Response.Write("<td width='30%'>Web: " + objReader.GetString(3) + "</td>");
        Response.Write("<td width='10%'><a href='ret_skole.aspx'>Ret</a> <a href='slet_skole.aspx'>Slet</a></td>");
        Response.Write("</tr></table>");
   
        }



Her fejlen den kommer med:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidCastException: The data value could not be converted for reasons other than sign mismatch or data overflow. For example, the data was corrupted in the data store but the row was still retrievable.

den siger fejlen er i koden her:
Response.Write(" du er for meget " + objReader.GetString(0) + " d");
Avatar billede odegaard Nybegynder
23. juli 2002 - 01:49 #20
Kan det tænkes at objReader.GetString(0) ikke er en streng? Dit ID er vel næppe en streng ???
prøv objReader.GetInt32(0) eller objReader.GetValue(0)
Avatar billede jakobandersen Nybegynder
23. juli 2002 - 07:51 #21
Prøv med objReader.GetInt32().ToString()
Avatar billede 4u2x Nybegynder
23. juli 2002 - 11:41 #22
objReader.GetValue(0) - kan den hente både strings og tal? altså ALT?
Avatar billede odegaard Nybegynder
23. juli 2002 - 12:16 #23
ja, men den kan godt være lidt farlig at hente. Den kan dog ikke hente DBNull værdier (skide irriterende:).
Derfor bør man gerne lave et tjek for objreader.GetValue(0)!=DBNull.Value (aner ikke om syntaxen er sådan i C#).
Husk at lave toString(), hvis du skal skrive det ud som tekst.
Avatar billede 4u2x Nybegynder
23. juli 2002 - 12:35 #24
hvis jeg gerne vil indføre en variabel som har værdien (data'en den har hentet fra et felt)

fx: mitfornavn = objReader.GetString(0)

så jeg kan hente et sted længere nede på siden?
Avatar billede 4u2x Nybegynder
23. juli 2002 - 19:51 #25
så er der nyt spm fra mig :-/
kig venligst på:
http://www.eksperten.dk/spm/238768
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