Avatar billede pumpin Nybegynder
28. august 2005 - 11:02 Der er 33 kommentarer og
1 løsning

hjælp til datareader objekt

heysan jeg har lidt probs med at hive data'en ud af mit datareader objekt.. jeg er van til PHP hvor man bare skriver while $row == true..og så kan man echo de forskellige felter fra DB ud..

men hvordan virker det i C# har ikke helt haft held med det jeg har forsøgt mig.. min kode ser sådan her ud

protected void Page_Load(object sender, EventArgs e)
    {
        string strConnection = "Provider=Microsoft.Jet.OleDB.4.0;";
        strConnection += @"Data Source=" + Server.MapPath("mini.mdb");

        string getSQL = "SELECT * FROM personer";

        string row = "";

        OleDbConnection objConnection = new OleDbConnection(strConnection);

        OleDbCommand objCommand=new OleDbCommand(getSQL, objConnection);

        OleDbDataReader objDataReader= null;

        objConnection.Open();

        objDataReader = objCommand.ExecuteReader();

        while(objDataReader.Read() == true)
        {
            DET HER JEG HAR LIDT PROBS!!
        }

hvis bare en kan vise mig hvordan jeg response.write alle felterne ud så bliver jeg glad!!
Avatar billede pumpin Nybegynder
28. august 2005 - 11:06 #1
mine felter hedder fornavn, brugernavn, kodeord,
Avatar billede arne_v Ekspert
28. august 2005 - 11:08 #2
while(objDataReader.Read())
        {
            string fornavn = (string)objDataReader[0];
            string brugernavn = (string)objDataReader[1];
            string kodeord = (string)objDataReader[2];
            // brug de 3 variable
        }
Avatar billede arne_v Ekspert
28. august 2005 - 11:09 #3
Response.Write virker i ASP.NET men er *ikke* "the .NET way"
Avatar billede pumpin Nybegynder
28. august 2005 - 17:26 #4
hvordan skal jeg så udskrive de 3 strings? hvis jeg ikke burde bruge write ?
Avatar billede pumpin Nybegynder
28. august 2005 - 17:28 #5
jeg får den her fejl når jeg bruger den kode stump..

Unable to cast object of type 'System.Int32' to type 'System.String'.
Avatar billede arne_v Ekspert
28. august 2005 - 17:30 #6
det betyder at et af de 3 første felter er en int og derfor ikke
kan castes til string
Avatar billede arne_v Ekspert
28. august 2005 - 17:31 #7
du assigner f.eks. de strings til en web control

men brug Response.Write og se det virke

og derefter kan du så gå igang med ASP.NET
Avatar billede pumpin Nybegynder
28. august 2005 - 17:36 #8
lige meget hvad jeg gør vil den ikke udskrive det burde Response.Write(fornavn); ikke virke..

fik klaret det med en .ToString() nu køre det men udskrive bare ikke
Avatar billede arne_v Ekspert
28. august 2005 - 17:39 #9
.ToString() kan konvertere en int til en string

men en int er jo næppe et fornavn !!!!

Resonse.Write bør komme ud - men ikke nødvendigvis hvor du tror at det kommer ud
Avatar billede pumpin Nybegynder
28. august 2005 - 17:46 #10
den kommer slet ikke ud. den brokker sig lige meget hvordan jeg end prøver at udskrive det
... fuck det finder vel ud af det.. fyr et svar !
Avatar billede arne_v Ekspert
28. august 2005 - 17:49 #11
hvilken fejl får du ?
Avatar billede arne_v Ekspert
28. august 2005 - 17:49 #12
svar
Avatar billede arne_v Ekspert
28. august 2005 - 17:49 #13
har du en ASP.NET bog ?

eller en tutorial ?
Avatar billede pumpin Nybegynder
28. august 2005 - 17:54 #14
Error    1    c:\Documents and Settings\Larsen\My Documents\Visual Studio 2005\WebSites\personligHP\Default.aspx.cs(40): error CS0029: Cannot implicitly convert type 'void' to 'string'    /


jeg prøver den her: Label.Text = Response.Write("fornavn");
og tester.Text = fornavn;

har nogle video'er fra nettet. det er alt og så har jeg kodet en del PHP men det er lidt mere "slam kode" hvis man kan sige sådan! C# lader dig sku ikke bare kaste tal og bogstaver rundt :) men oki det kommer vel hen af vejen. er så smår ved at fatte lidt af OOP.
Avatar billede pumpin Nybegynder
28. august 2005 - 17:55 #15
har du da nogle gode forslag til bøger som omhandler webforms.. så kast endlig ISBN

og det er VS 2005 beta der giver mig den fejl
Avatar billede arne_v Ekspert
28. august 2005 - 17:56 #16
det er:

dinlabel.Text = fornavn;

eller

Response.Write(fornavn);
Avatar billede arne_v Ekspert
28. august 2005 - 17:58 #17
Wrox plejer at have nogle gode bøger

http://www.wrox.com/WileyCDA/Section/id-105061.html

men jeg kender dog ikke deres ASP.NET bøger personligt
Avatar billede pumpin Nybegynder
28. august 2005 - 17:58 #18
også under den her void : protected void Page_Load(object sender, EventArgs e)
Avatar billede arne_v Ekspert
28. august 2005 - 17:59 #19
http://samples.gotdotnet.com/quickstart/aspplus/doc/

har mange små eksempler som måske ikke giver overblikket men som kan give
en masse bygge klodser til teknikken
Avatar billede arne_v Ekspert
28. august 2005 - 17:59 #20
ja
Avatar billede pumpin Nybegynder
28. august 2005 - 18:01 #21
når jeg bruger minLabel.Text = fornavn ikke existere ?? selv om jeg har de 3 strings som du postede ?
Avatar billede pumpin Nybegynder
28. august 2005 - 18:02 #22
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string strConnection = "Provider=Microsoft.Jet.OleDB.4.0;";
        strConnection += @"Data Source=" + Server.MapPath("mini.mdb");

        string getSQL = "SELECT * FROM personer";

        OleDbConnection objConnection = new OleDbConnection(strConnection);

        OleDbCommand objCommand=new OleDbCommand(getSQL, objConnection);

        OleDbDataReader objDataReader= null;

        objConnection.Open();

        objDataReader = objCommand.ExecuteReader();

        while(objDataReader.Read() == true)
        {
            string fornavn = objDataReader[0].ToString();
            string brugernavn = objDataReader[1].ToString();
            string kodeord = objDataReader[2].ToString();

   
        }
        tester.Text = fornavn;   

    }
Avatar billede arne_v Ekspert
28. august 2005 - 18:06 #23
når du erklærer fornavn inden i while løkken eksisterer den ikke udenfor
Avatar billede arne_v Ekspert
28. august 2005 - 18:07 #24
overvej iøvrigt også om ikke du skal have vist alle personer fremfor kun den sidste
Avatar billede pumpin Nybegynder
28. august 2005 - 18:13 #25
hehe nu udskriver den.. men den skriver 6 ? det er ikke mit fornavn :)
Avatar billede arne_v Ekspert
28. august 2005 - 18:17 #26
28/08-2005 17:39:01

har du en første kolonne som er et id ?
Avatar billede pumpin Nybegynder
28. august 2005 - 18:22 #27
ahhh forsatan arne... du er min helt! ! !

men stadig burden en ikke udskrive en masse tal eller udskifter den det bare "lyn børge" til det sidste i rækken ? fordi så er jeg vel nødtil at flette det ind i en tabel.. men kanjeg stoppe den ind i on page loade ? eller hvordan takler man den
Avatar billede arne_v Ekspert
28. august 2005 - 18:36 #28
jeg mener at du kan bruge kolonne navne som index i.s.f. kolonne numre - måske er det nemre

----

hvis du bruger label skal du enten have mange af dem - eller du skal finde en
anden web control end label

prøv og kig i http://samples.gotdotnet.com/quickstart/aspplus/doc/
Avatar billede pumpin Nybegynder
28. august 2005 - 18:43 #29
når du siger Web control mener du så som datagrid og den slags som man kan trække ud af VS_2005 ?
Avatar billede arne_v Ekspert
28. august 2005 - 18:50 #30
ja
Avatar billede pumpin Nybegynder
28. august 2005 - 18:57 #31
hmm nu spidser det sig sku til :) jeg er ikke helt god nok til at kode datagrids selv og kan ikke style mine i VS_2005 godt nok.
Avatar billede arne_v Ekspert
28. august 2005 - 18:59 #32
prøv og læs lidt på den quick start guide
Avatar billede pumpin Nybegynder
28. august 2005 - 19:29 #33
skid hul i det jeg lære det en dag ser ud som om de er enlige lovlig stor mundfuld..
Avatar billede pumpin Nybegynder
28. august 2005 - 19:29 #34
tak for hjælpen
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