MySQL database
Hej,Jeg er ved at lave en site i C#, og har store problemer med at få database-forbindelsen til MySQL til at køre ordentligt.
I global.asax åbner og lukker jeg for forbindelsen. Selve connectionstring bliver hentet fra web.config.
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Application.Lock();
string MyConString = System.Configuration.ConfigurationSettings.AppSettings["connectionString"];
ByteFX.Data.MySqlClient.MySqlConnection mycon = new ByteFX.Data.MySqlClient.MySqlConnection(MyConString);
Application["dbconn"] = mycon;
try
{
mycon.Open();
}
catch(System.Exception ex)
{
Response.Write(e);
}
Application.UnLock();
}
protected void Application_EndRequest(Object sender, EventArgs e)
{
try
{
((ByteFX.Data.MySqlClient.MySqlConnection)Application["dbconn"]).Close();
}
catch(System.NullReferenceException nre)
{
Response.Write(nre);
}
}
Fra mine CS-filer gør jeg følgende, når jeg vil tilgå databasen:
private void getArticles(string id)
{
IDbCommand dbcon = ((System.Data.IDbConnection)Application["dbconn"]).CreateCommand();
dbcon.CommandText = "SELECT * FROM article WHERE categoryid=" + id;
IDataReader reader = dbcon.ExecuteReader();
while(reader.Read())
{
Response.Write( reader["header"] + " " + reader["subheader"] );
}
reader.Close();
reader = null;
dbcon.Dispose();
dbcon = null;
}
Når jeg kører siden, låser IIS så jeg bliver nødt til at genstarte.
Hvad gør jeg forkert?
Jeg giver 200 point fordi jeg længe har bøvlet med det, og fordi jeg gerne vil have en god forklaring :o)
Tak for hjælpen!
