Avatar billede stanz2002 Nybegynder
14. juli 2006 - 12:37 Der er 14 kommentarer og
1 løsning

objDA.Fill

Hej,

Jeg er ny i Aap.net og mySQL, men sidder og forsøger at lave en forbindelse til en mySQL DB fra min asp.net (VB) side.

Jeg har følgende kode:

------------------------
<script runat="server" language="vb">

sub Page_Load(s As object, e As EventArgs)

Dim strConn As String = "Provider=MySQLProv; Data Source=xxxxx; User Id=xxxxxx; Password=xxxxxx"
       
Dim objConn As OleDbConnection = New OleDbConnection(strConn)
                           
Dim sqlText As String = "select * from links"

objConn.Open()


Dim objDA As OleDbDataAdapter
           
Dim objDS As New DataSet()
           
objDA = New OleDbDataAdapter(sqlText, objConn)
               
objDA.Fill(objDS, "links")
               
dgLinko.DataSource = objDS
               
dgLinko.DataBind()
           
objConn.Close()

end sub

</script>
------------------------

Men den giver denne fejl:

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.Data.OleDb.OleDbException: No error information available: DB_E_NOTABLE(0x80040E37).

Fejlen gør sig gældende for denne linie: objDA.Fill(objDS, "links")

Jeg bruger et webhotel hos www.concor.dk.

Hvad er problemet - jeg er ved at få grå hår nu :)

/ Kenneth
Avatar billede arne_v Ekspert
14. juli 2006 - 13:47 #1
jeg vil anbefale MySQL connector for .NET fremfor OLE DB eller ODBC
Avatar billede stanz2002 Nybegynder
14. juli 2006 - 14:04 #2
okay, men jeg vil gerne gøre det med OLE DB, da jeg der vist ikke skal i gang med at rode med serveren hos min webhotel udbyder.

Da jeg er helt ny i dette sprog vil jeg gerne gøre det så nemt som det nu er muligt.

Men den giver iøvrigt ikke fejl i selve forbindelsen til DB'en, men først når DataSet'et skal fyldes med data - betyder det at forbindelsen til DB'en er iorden :)

/ Kenneth
Avatar billede arne_v Ekspert
14. juli 2006 - 14:29 #3
MySQL connector for .NET er ægte .NET d.v.s. XCOPY deployment - du skal bare
oploade en dll til bin dir, så kan du bruge den - der skal ikke installeres
noget af web hotel administrator.

En af fordelene ved MySQL connector for .NET er at du vil få bedre fejl
meddelelse d.v.s. at vi kan se hvad der går galt.
Avatar billede arne_v Ekspert
14. juli 2006 - 14:30 #4
Avatar billede stanz2002 Nybegynder
14. juli 2006 - 14:41 #5
okay.. men jeg har bare ikke et bin dir på mit webhotel..

Jeg bruger www.concor.dk..

Men kan jeg selv oprette et bin bibliotet og smide den dll fil deri.. eller er der en masse med skriverettigheder til sådan et bibliotek..

/ Kenneth
Avatar billede arne_v Ekspert
14. juli 2006 - 15:14 #6
du boer selv kunne oprette det
Avatar billede stanz2002 Nybegynder
17. juli 2006 - 09:06 #7
skal biblioteket ligge i roden af mit webhotel eller bare i den mappe, hvor.aspx filerne ligger?

Jeg synes ikke jeg kan få det til at virke :)
Avatar billede arne_v Ekspert
17. juli 2006 - 13:16 #8
i roden af den virtuelle host
Avatar billede stanz2002 Nybegynder
17. juli 2006 - 13:36 #9
okay.. skal jeg bare smide de dll filer deri så.. jeg skal ikke køre nogen filer for at få dem til at virker eller noget..

Du kender vel ikke en tutorial eller vejledning til hvordan man gør det når man bruger et webhotel ude i byen.

PS: jeg har fået det til at virke med ODBC, så måske jeg bare skal bruge det i stedet - det er til et mindre site, som skal bruges til noget internt..

Men smid lige et svar, så du i hvert fald kan få nogle point..
Avatar billede arne_v Ekspert
17. juli 2006 - 14:04 #10
jep

og svar
Avatar billede stanz2002 Nybegynder
17. juli 2006 - 14:09 #11
hmm.. men nu får jeg den her fejl:

-----------------
BC30451: Name 'dgLinks' is not declared.
-----------------

med den her kode:

-----------------
sub Page_Load(s As object, e As EventArgs)

Dim strConn            As String                = "Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=mindpeople00119; uid=kenneth00119; pwd=legeplads; option=3"

Dim objConn            As OdbcConnection        = New OdbcConnection(strConn)
                   
Dim sqlText            As String                = "select * from links"

Dim cmdConn            As OdbcCommand            = New OdbcCommand(sqlText, objConn)

objConn.Open()

Dim objDA    As OdbcDataAdapter

Dim objDS    As New DataSet()

objDA        = New OdbcDataAdapter(sqlText, objConn)

objDA.Fill    (objDS, "Links")

dgLinks.DataSource = objDS

dgLinks.DataBind()

objConn.Close()

end sub
------------------

Hvad skal den variabel declares som?.. :)

/ Kenneth
Avatar billede arne_v Ekspert
17. juli 2006 - 14:46 #12
dgLinks er vel et DataGrid !?!?
Avatar billede stanz2002 Nybegynder
17. juli 2006 - 15:02 #13
joh.. er ret ny :)

men har sat den her linie ind nu:

---------------------------------
Dim dgLink As New DataGrid
---------------------------------

nu giver den ingen fejl, men viser så hellere ikke nogen data i mit datagrid.. se denne kode:

---------------------------------
<asp:DataGrid ID="dgLink" runat="server" AutoGenerateColumns="false" CellPadding="4" BorderWidth="0" DataKeyField="links_ID">

<columns>
<asp:BoundColumn DataField="links_Title" HeaderText="Title:" />
<asp:BoundColumn DataField="links_link" HeaderText="Link:" />
</columns>

</asp:DataGrid>
---------------------------------

Hvad kan det så skyldes :)

/ Kenneth
Avatar billede arne_v Ekspert
17. juli 2006 - 15:07 #14
bruger du .NET 1.1 (VS 2003) ?

hvis ja saa proev og erstat

Dim dgLink As New DataGrid

med

Protected dgLink As New DataGrid

(udenfor metoden altsaa)
Avatar billede stanz2002 Nybegynder
17. juli 2006 - 15:13 #15
hmm.. det virker ikke.. men hvis jeg nu fjerner min declare af dgLink, så virker det pludseligt.. mystisk :)

men må vist sidde og rode lidt med det og teste hvad der går galt  :)..

men tak for hjælpen og fortsat god dag herfra..

/ Kenneth
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
Kurser inden for grundlæggende programmering

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