Gå til innhold

Anbefalte innlegg

Hei,

 

Jeg er rimelig ny på C# fronten, og har støtt på et lite problem. Dette skjer ved kobling mot SQL server. Jeg får ut en exception jeg ikke helt greier å sette fingeren på.

 

"System.InvalidOperationException: ExecuteReader: CommandText property has not been initalized"

-Men dette skal da dekkes av min kode??

 

Koden er som følger:

 

--> start

 

Logg.Write("[X] \t Kobler til kundedatabase....");

 

try

{

SqlConnection myConnectionKunde = new SqlConnection("server=localhost;" +

"Trusted_Connection=yes;" +

"database=*****; " +

"connection timeout=30");

myConnectionKunde.Open();

SqlCommand myCommand = new SqlCommand(sporring, myConnectionKunde);

myCommand.Connection = myConnectionKunde;

myCommand.ExecuteNonQuery();

 

SqlDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);

 

 

while (myReader.Read())

{

Console.WriteLine(myReader.getString(1));

}

myReader.Close();

 

Catch(Exception e)

{

Console.WriteLine(e.toString());

 

}

 

takker for respons !

 

:hmm:

 

 

Victurus!

 

edit: leif

Endret av victurus
Lenke til kommentar
Videoannonse
Annonse

Har ingenting med feilen din å gjøre, men denne er overflødig:

myCommand.Connection = myConnectionKunde;

...da du allerede har sendt med connectionobjectet her:

SqlCommand myCommand = new SqlCommand(sporring, myConnectionKunde);

 

Edit:

myCommand.ExecuteNonQuery();

Denne brukes som regel bare på UPDATE, INSERT eller DELETE, da den returnerer antall berørte rader og ikke hele datasett, så den er unødvendig i dette tilfellet ;)

Endret av xtc
Lenke til kommentar

Takker for svar. Nå viste det seg at en medarbeider presterte å slette dataene på databasen, så det var det som fremprovoserte en Exception :ermm: (huff)

 

xtc: takker. De havnet der som i et håpløst forsøk på å finne ut av feilen. -Men de ble værende der etter at ting fungerte igjen, så nå er det rettet opp :yes:

 

Victurus!

Lenke til kommentar

poenget mitt er hvis du skal hente ut et større recordset og skal ha f.eks en messagebox dersom det ikke inneholder noen records...

 

if( reader.HasRows)
{
 while(reader.Read())
 { 
   ....
 }
}
else
{
 MessageBox....
}

 

Hvordan skal du ellers løse dette når du kun skal bruke en while for å lese?

Lenke til kommentar

Hei igjen,

 

Nå har jeg støtt på enda et problem, denne gangen med XML. Problemet er at jeg er veldig grønn på XML fronten. Jeg prøver å spesifisere DTD med XmlTextWriter. Målet er at det skal bli slik:

 

"xml", "version='1.0' encoding='UTF-8'"
<!DOCTYPE FILE [<!ELEMENT FILE (REC*)> 
<!ATTLIST FILE NAME CDATA #REQUIRED> 
<!ELEMENT REC (FLD*)> 
<!ATTLIST REC NAME CDATA #REQUIRED> 
<!ELEMENT FLD (#PCDATA)> 
<!ATTLIST FLD NAME CDATA #REQUIRED >]>
<!--Data Design : 10962-->"

 

Problemet er at jeg får det ikke til med XmlTextWriter, ikke i nærheten engang. Prøvd å google litt eksempler som beskriver metoden WriteDocType(), dog uten hell :hmm:

 

Noen ideer?

 

Vicuturus!

Endret av victurus
Lenke til kommentar

Sant nok, men slik jeg har forstått det skal det i utgangspunktet være det samme med XmlTextWriter. Det jeg har produsert foreløpig er noe av denne sorten:

 


XmlTextWriter skriver = new XmlTextWriter(m_strFileName, System.Text.Encoding.UTF8);

          skriver.WriteStartDocument();
          skriver.Formatting = Formatting.Indented;
           skriver.Indentation = 6;

skriver.WriteDocType("FILE", null, null,"<!ELEMENT FILE (REC*)> <!ATTLIST FILE NAME CDATA #REQUIRED> <!ELEMENT REC (FLD*)> <!ATTLIST REC NAME CDATA #REQUIRED> <!ELEMENT FLD (#PCDATA)> <!ATTLIST FLD NAME CDATA #REQUIRED >");
                   
                   skriver.WriteStartElement("FILE");
                  ..... bla bla

 

som gir meg følgende resultat:

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE FILE[<!ELEMENT FILE (REC*)> 
<!ATTLIST FILE NAME CDATA #REQUIRED> 
<!ELEMENT REC (FLD*)> 
<!ATTLIST REC NAME CDATA #REQUIRED> 
<!ELEMENT FLD (#PCDATA)> <!ATTLIST FLD NAME CDATA #REQUIRED >]>

 

med andre ord, jeg mangler kun (REC*) på FILE på første deklarasjon! men den får jeg ikke sneket inn! -Og siste linje som er slik:

<!--Data Design : 10962-->

WriteString gir meg exception, og legger jeg den i DTD får jeg en "]" på slutten.

 

 

Victurus!

Endret av victurus
Lenke til kommentar
Jeg bruker bare System.Xml ved innlesing. Når jeg produserer XML går det på "gamlemåten". Har ikke tid til all shiten som er med System.Xml bare for å få produsert noen enkle xml, gitt...

9127866[/snapback]

 

Nei, dessuten er det ikke rakkettvitenskap, det er nesten sånn at jukse-i-nordic-mafia gjengen kunne klart det :ermm:

Lenke til kommentar
  • 1 måned senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...