Kör du med enbart 2.0 nu ska du självklart ladda ner 1.1 då 2.0 är lagom buggig.
Hur ser objConn ut?
12 svar · 574 visningar · startad av echoSwe
Hej!
Jag kan berätta att efter era övertalningsförsök så har jag börjat läsa en bok :)... (tyvärr är den VB .Net, men man får hålla till godo)
Jag får det här konstiga felet:
"
Det går inte att hitta installerbar ISAM.
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: Det går inte att hitta installerbar ISAM.
Source Error:
Line 10: dim objCmd as new OleDbDataAdapter("SELECT * FROM Användare", objConn)
Line 11: dim ds as DataSet = new DataSet()
Line 12: objCmd.Fill(ds, "Användare")
Line 13:
Line 14: MyDataList.DataSource = ds.Tables("Användare").DefaultView
Source File: C:\WD\nonpro\db\dataRead.aspx Line: 12
"
Vad kan det vara tror ni? ASP .Net SDK 2.0 som spökar? Kanske, ska ladda hem 1.1 - kan man intstallera den över 2.0 Beta?
Kör du med enbart 2.0 nu ska du självklart ladda ner 1.1 då 2.0 är lagom buggig.
Hur ser objConn ut?
Jag ser 2 möjliga fel.
Antingen är kopplingssträngen till databasen fel, eller så behöver du ladda ner senaste MDAC.
Eftersom 2.0 inte kommer ut i Beta 2 och i skarpt tidigast hösten 2005 så rekommenderar jag att du installerar 1.1 istället. I alla fall om du vill bygga sajter som du ska lägga ut på nätet. Kommer ingen live licens på 2.0 förrän i Beta 2.
Vimp skrev:
Kör du med enbart 2.0 nu ska du självklart ladda ner 1.1 då 2.0 är lagom buggig.
Hur ser objConn ut?
sub Page_Load(obj as Object, e as EventArgs)
' skapa koppling till databasen
dim strConn = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" & Server.MapPath("user.mdb")
dim objConn as new OleDbConnection(strConn)
dim objCmd as new OleDbDataAdapter("SELECT * FROM Användare", objConn)
dim ds as DataSet = new DataSet()
objCmd.Fill(ds, "Användare")
MyDataList.DataSource = ds.Tables("Användare").DefaultView
MyDataList.DataBind()
end sub
MDAC - vad är det?
Kan jag installera 1.1 över 2.0 beta i så fall?
Ser koden fel ut på något sätt?
echoSwe skrev:
Vimp skrev:
Kör du med enbart 2.0 nu ska du självklart ladda ner 1.1 då 2.0 är lagom buggig.
Hur ser objConn ut?
sub Page_Load(obj as Object, e as EventArgs) ' skapa koppling till databasen dim strConn = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" & Server.MapPath("user.mdb") dim objConn as new OleDbConnection(strConn) dim objCmd as new OleDbDataAdapter("SELECT * FROM Användare", objConn) dim ds as DataSet = new DataSet() objCmd.Fill(ds, "Användare") MyDataList.DataSource = ds.Tables("Användare").DefaultView MyDataList.DataBind() end subMDAC - vad är det?
Kan jag installera 1.1 över 2.0 beta i så fall?
Ser koden fel ut på något sätt?
Microsoft Data Access Components.
Finns för nedladdning här:
http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&displaylang=en
Ja, du kan använda både 1.1 samt 2.0 samtidigt men se tilla tt ställa in i IIS så att det är 1.1 du använder.
Fortfarande problem :s
Det var inte MDAC:en. Det stod att alla funktioner som den skulle installera redan fanns i operativsystemet.
Jag testar 1.1:an av Framework:et.
Nu har jag installerat Framework 1.1, och det fungerar fortfarande inte. Tillbaka till ruta ett alltså.
Äntligen!!
Konstigt att ingen av er upptäckte det med tanke på hur bra ni är på sånt här :).
Problemet var ett lite syntaxfel i strConn.
Det ska inte vara DataSource utan Data Source med mellanslag :).
EDIT:
Jag undrar en lite grej - hur skriver man uppkopplingssträngen till en MySQL databas? Det är ju ärligt talat den snabbaste databsen på marknaden, så jag tänkte att det hade varit bättre att använda den när man väl har lärt sig grunderna...
Sen när blev MySQL snabbast?? :q
Ifall du vill använda MySQL så kan du iaf använda antingen System.Data.Odbc eller ByteFX.Data.MySQLClient.
Hmm. är inte MS SQL server snabbast idag?.. Skulle gärna vilja se lite tester på olika databaser.. Det är ju inte ofta sånt är på tapeten.
http://www.upsys.se/referenser_fortum.htm
http://computersweden.idg.se/ArticlePages/200411/09/20041109145851_CS988/20041109145851_CS988.dbp.asp
Nej, jag tror inte att MS SQL är snabbast.
Jag har ett nytt litet problem. Som övning så försökte jag göra om koden till C# från VB.
Här är den nya koden:
void Page_Load(Object obj, EventArgs e)
{
//skapa koppling till databasen
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ Server.MapPath("user.mdb");
OleDbConnection objConn = new OleDbConnection(strConn);
//dim objConn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WD\nonpro\db\user.mdb")
OleDbDataAdapter objCmd = new OleDbDataAdapter("SELECT * FROM Users ORDER BY Förnamn, Efternamn ASC", objConn);
DataSet ds = new DataSet();
objCmd.Fill(ds, "Users");
MyDataList.DataSource = ds.Tables("Users").defaultView;
MyDataList.DataBind();
}
och här är felet som genereras:
Compiler Error Message: CS0118: 'System.Data.DataSet.Tables' denotes a 'property' where a 'method' was expected
Source Error:
Line 14: objCmd.Fill(ds, "Users");
Line 15:
Line 16: MyDataList.DataSource = ds.Tables("Users").defaultView;
rad 16 är markerad här.
testa att sätta klammrar istället för parenteser.... dataset.Tables["tabellen"]
Men det var väldigt konstiga länkar du gav..
1. De har gjort en egen "Tabellhanterare" alltså byggt nåt som inte finns som standard.
2. Det dom gjort där är optimerat för just den grejen som ska göras. och man kan oftast inte äta kakan och ha den kvar, optimerar man för hårt på ena sidan blir den andra sidan lidande.
Nöff - tack för hjälpen.
Du har säkert rätt om databasen... Dock ganska häftigt med 15 000 värden i sekunden...