22. november 2003 - 00:34
Der er
20 kommentarer og 1 løsning
mysql og asp.net
Hej, nu har jeg i gud ved ikke hvor lang tid siddet og forsøgt at få det lort til at virke. det skal nævnes at asp.net absolut er nyt for mig. Det jeg forsøger at få til at virke er at connecte til en mysql-db gennem asp.net. her er min simple kode: <% @ Page Language="c#" %> <%@ Import Namespace="System.Data" %> <% @Import Namespace="Microsoft.Data" %> <% @Import Namespace="Microsoft.Data.Odbc" %> <script language="c#" runat="server"> void Page_Load(){ OdbcConnection objCon; OdbcCommand objCmd = new OdbcCommand(); objCon = new OdbcConnection("driver={myodbc3-test};server=localhost;uid=root;pwd=;database=test;"); objCon.Open(); objCmd.Connection = objCon; objCmd.CommandText = "SELECT * FROM Customer"; OdbcDataReader oDataReader = objCmd.ExecuteReader(CommandBehavior.CloseConnection); MyDataGrid.DataSource = oDataReader; MyDataGrid.DataBind(); } </script> <ASP:DataGrid id="MyDataGrid" runat="server" /> - Og her er fejlen: Compiler Error Message: CS0234: The type or namespace name 'Data' does not exist in the class or namespace 'Microsoft' (are you missing an assembly reference?) Jeg har installeret mysql odbc driver 3.51 og mdac 2.8
Annonceindlæg fra Barco
22. november 2003 - 00:54
#1
f
22. november 2003 - 10:54
#2
Har du kopieret System.Data.dll til din bin-mappe? Den ligger som regel her: C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll Hvad program kører du? VS.NET?
22. november 2003 - 11:24
#3
Jeg har kopieret System.Data.dll til min bin-mappe, men får stadig samme fejl. Hvorfor er det nødvendigt at skulle kopiere dll-filer? Jeg benytter notepad, men ellers web-matrix
22. november 2003 - 12:33
#4
For at projektet kan finde referencen. Referencerne ligger i bin mappe som dll filer. tror du har en fejl i denne linie: <%@ Import Namespace="System.Data" %> Den skal sikkert se sådan ud: <% @Import Namespace="System.Data" %> forkert placering af mellemrum
22. november 2003 - 12:44
#5
Hm, stadig ingenting. Jeg har en mappe på min wwwroot der hedder test, og siger du så, at jeg i testmappe skal have en /bin mappe, hvori jeg ligger System.Data.dll? Det har jeg nu, og jeg har også ændret ml-rums fejlen, men jeg får stadig samme fejl... Compiler Error Message: CS0234: The type or namespace name 'Data' does not exist in the class or namespace 'Microsoft' (are you missing an assembly reference?)
22. november 2003 - 12:48
#6
hm... Ved ikke om det virker, men istedet for at skrive: <% @ Page Language="c#" %> <%@ Import Namespace="System.Data" %> <% @Import Namespace="Microsoft.Data" %> <% @Import Namespace="Microsoft.Data.Odbc" %> ...så prøv at skrive: <% using System.Data; using System.Data.Odbc; %>
22. november 2003 - 12:50
#7
eller udskifte: Microsoft.Data og Microsoft.Data.Odbc med henholdsvis System.Data og System.Data.Odbc
22. november 2003 - 12:52
#8
Og endnu en mulighed. Udskift det øverste med følgende: <%@ Page Language="C#" Debug="True" CompilerOptions='/R:"C:\Program Files\Microsoft.NET\Odbc.Net\Microsoft.data.odbc.dll"'%> <%@ Import Namespace="System.Data" %> <% @Import Namespace="Microsoft.Data" %> <% @Import Namespace="Microsoft.Data.Odbc" %>
22. november 2003 - 12:54
#9
stien til dll-filen skal selvfølgelig justeres efter stien på din pc
22. november 2003 - 13:22
#10
den skal ikke ligge i /test/bin, men i /bin
22. november 2003 - 13:34
#11
Microsoft.Data.Odbc = .NET SDK 1.0 System.Data.Odbc = .NET SDK 1.1
22. november 2003 - 17:45
#12
Min kode virker stadig ikke, og den ser ud som følger: <% @Page Language="c#" %> <% using System.Data; using System.Data.Odbc; %> <script language="c#" runat="server"> void Page_Load(){ OdbcConnection objCon; OdbcCommand objCmd = new OdbcCommand(); objCon = new OdbcConnection("driver={myodbc3-test};server=localhost;uid=root;pwd=;database=test;"); objCon.Open(); objCmd.Connection = objCon; objCmd.CommandText = "SELECT * FROM Customer"; OdbcDataReader oDataReader = objCmd.ExecuteReader(CommandBehavior.CloseConnection); MyDataGrid.DataSource = oDataReader; MyDataGrid.DataBind(); } </script> <ASP:DataGrid id="MyDataGrid" runat="server" /> Jeg får følgende fejl: Compiler Error Message: CS0246: The type or namespace name 'OdbcConnection' could not be found (are you missing a using directive or an assembly reference?) Jeg kan ikke finde Microsoft.data.odbc.dll på min harddisk, i det hele taget har jeg ikke en mappe under Microsoft.Net der hedder odbc.net...kunne det tyde på at jeg ikke har installeret odbcdriveren til asp.net ordentligt? jeg har installeret sdk 1.1 og efterfølgende mdac 2.8 og endvidere mysql odbc 3.51
22. november 2003 - 17:46
#13
Jeg har nu lagt System.Data.dll i wwwroot/bin istedet for i wwwroot/test/bin
22. november 2003 - 18:42
#14
I version 1.1 er det System.Data.dll og System.Data.Odbc - i 1.0 er det Microsoft.Data.Odbc og Microsoft.Data.ODBC.dll ...
23. november 2003 - 15:46
#15
Yes. Jeg kan ikke finde System.Data.Odbc...
23. november 2003 - 16:57
#16
Never mind, jeg fandt et eksempel og fik følgende kode til at virke: <%@ Page Language="C#" AutoEventWireup="False" EnableSessionState="False" EnableViewState="False" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.Odbc" %> <script runat="server"> private const string ConnStr = "Driver={MySQL ODBC 3.51 Driver};" + "Server=localhost;Database=test;uid=root;pwd=;option=3"; protected override void OnInit(EventArgs e) { base.OnInit(e); using(OdbcConnection con = new OdbcConnection(ConnStr)) using(OdbcCommand cmd = new OdbcCommand("SELECT * FROM Customer", con)) { con.Open(); dgrAllNames.DataSource = cmd.ExecuteReader( CommandBehavior.CloseConnection | CommandBehavior.SingleResult); dgrAllNames.DataBind(); } } </script> <html> <head> <title>Displaying Records from MySQL 'Names' table</title> <style> body { font: 100% Verdana; } </style> </head> <body> <p align="center">All records in the 'Names' table:</p> <asp:DataGrid ID="dgrAllNames" HorizontalAlign="Center" CellPadding="3" Runat="server" /> </body> </html> Og også uden at have en bin laden-mappe og alt muligt andet
23. november 2003 - 16:58
#17
men hvis I lige svarer vraa og arne_v, så får I lidt point fordi I forsøgte at hjælpe mig
23. november 2003 - 16:59
#18
ok
23. november 2003 - 17:10
#19
Arh, scheisse, der fik du alle point arnve_v. det er så lang tid siden jeg har brugt systemet, at jeg troede man kunne vælge point-fordeling, men det er jo selvf. fordi vraa ikke har svaret endnu...hvad gør vi så? Hvis du føler dig lidt snydt vraa, kan jeg evt. oprette et nyt spørgsmål hvor du kan få lidt point også
23. november 2003 - 17:15
#20
Jeg opretter et spørgsmål til vraa så han kan få hans halvdel. (forudsat at du ville af med alle pointene)
23. november 2003 - 22:14
#21
ok, tak arne v
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.