Gå til innhold

Problemer med Microsoft Visual C# og database


Anbefalte innlegg

Jeg hholder på med et lite prosjekt i Microsoft Visual C# 2005 Express edition hvor jeg skal hente ut/vise litt data fra en database i programmet.

 

Jeg skal blandt annet hente brukernavn fra en tabell i Access (har tilogmed laget spørring) hvor disse skal vises i en Combobox (Jeg har gjort dette i både ASP 3.0 og Php så vet det er mulig).

 

når jeg prøver å kjøre programmet får jeg følgende feilmelding:

"The type name 'ny_databaseDataSet' does not exist in the type 'Hardware_register.Hardware.register'"

 

(som rikig gjettet så heter prosjektet/programmet Hardware_register og databasen det skal hentes informasjon fra heter ny_database).

 

noen som har formening av hva dette kan skyldes?

Lenke til kommentar
Videoannonse
Annonse
Er nok noen som har det hvis du poster koden din :)

7079527[/snapback]

 

innser nå at det kan være en fordel ja. har lagt ved både databasen og hele prosjektet....

 

Det jeg vil ha til er at programmet henter feks navn (og annen informasjon) fra databasen til feltene i programmet.

 

(på grunn av personvernet har jeg fjernet navnene som lå i tabellen brukere og lagt til et par bogus navn).

Lenke til kommentar

Nå er ikke jeg den skarpeste kniven i skuffen i verken C# eller VB, men jeg ville latt vær å bruke DataSet og ander av .NET sine kontroller for å gjøre det enklere. Jeg ville gjort noe sånt (nå har jeg ikke testa dette, men det burde virke):

    Shared Function DoSQL(ByVal SQL As String)
       Dim Conn As New OleDbConnection("")
       Dim Comm As New OleDbCommand
       Comm.Connection = Conn
       Comm.CommandText = SQL

       If SQL.ToUpper.StartsWith("SELECT") Then
           Dim Reader = Comm.ExecuteReader()

           Dim Array() As String = Nothing

           Conn.Open()
           While Reader.Read()
               Array = Reader.Read("Kolonnenvn")
           End While
           Conn.Close()
           Conn.Dispose()
           Return Array
       Else
           Conn.Open()
           Comm.ExecuteNonQuery()
           Conn.Close()
           Conn.Dispose()
           Return Nothing
       End If

   End Function

 

Hadde lagt noe sånt i en klasse :)

 

Bare å kalle DoSQL("DINSQLSTRING") hver gang man trenger databasen :)

 

BTW; Det utseendet ditt var heftig rotete!

 

Vurdert MDI?

 

EDIT: Btw; vurdert MsSQL Express?

Endret av ze5400
Lenke til kommentar
    Shared Function DoSQL(ByVal SQL As String)
       Dim Conn As New OleDbConnection("")
       Dim Comm As New OleDbCommand
       Comm.Connection = Conn
       Comm.CommandText = SQL

       If SQL.ToUpper.StartsWith("SELECT") Then
           Dim Reader = Comm.ExecuteReader()

           Dim Array() As String = Nothing

           Conn.Open()
           While Reader.Read()
               Array = Reader.Read("Kolonnenvn")
           End While
           Conn.Close()
           Conn.Dispose()
           Return Array
       Else
           Conn.Open()
           Comm.ExecuteNonQuery()
           Conn.Close()
           Conn.Dispose()
           Return Nothing
       End If

   End Function

7087177[/snapback]

 

Mangler (helst) Using og/eller try/catch her...

 

Og hvorfor ha den i 1 funksjon?

Shared Function ExecuteReader(ByVal sql As String) as String()

og

Shared Function ExecuteNonQuery(ByVal sql as string) as Integer ' Returnerer ant. rader som er modifisert

og

Shared Function ExecuteScalar(ByVal sql as string) as Integer ' Returnerer et tall.

Lenke til kommentar
Mangler (helst) Using og/eller try/catch her...

 

Og hvorfor ha den i 1 funksjon? 

Shared Function ExecuteReader(ByVal sql As String) as String()

og

Shared Function ExecuteNonQuery(ByVal sql as string) as Integer  ' Returnerer ant. rader som er modifisert

og

Shared Function ExecuteScalar(ByVal sql as string) as Integer  ' Returnerer et tall.

7087651[/snapback]

 

 

Nå var ikke det en rutine jeg peier å bruke heller :p

 

Skrev denne på 5min for å komme med et eksempel, persolig ville jeg nok brukt noe litt annet (er jo ikke sikker på at den virker engang :p)

 

Ang try catch, så pleier jeg å bruke det på kode som _kan_ slå feil, noe spørringer kan gjøre (har erfaringer på det :p), men jeg har en teori om at eksempler skal holdes så enkle osm mulig, sånn at bare relevant kode er der.

 

Og en ting til, Ja, jeg vet at jeg sugeri VB (og andre språk), men jeg klarer meg til mitt bruk :)

Lenke til kommentar

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...