Avatar billede jkampmann Nybegynder
21. januar 2008 - 18:53 Der er 12 kommentarer

Forbinde til MySQL - lave en include?

Jeg syntes det er for besværligt, at hver gang jeg skal kalde, smide noget i, eller slette fra min MySQL-database, så skal jeg lave en ny OdbcConnection hver gang.

Kan man ikke lave en include (som f.eks i PHP), som connecter til MySQL én gang, hvor den derefter ikke behøves at blive kaldt hver gang?

I såfald, hvordan?
Avatar billede nielle Nybegynder
21. januar 2008 - 19:09 #1
Lav en klasse som håndtere alt det praktisk omkring database forbindelsem. Placer den så i App_dat-folderen. Dermed har du altid adgang til at bruge den.
Avatar billede arne_v Ekspert
21. januar 2008 - 19:16 #2
Du kunne lade alle de sider der skal bruge database arve fra en side som åbnede en connection.

Hvis altså formålet er at producere ulæselig og ineffektiv kode.

.NET har indbygget connection pool. Derfor er det god skik og brug at åbne connection
lige før den skal bruges og lukke lige så snart man er færdig med at bruge den.

Rent praktisk kan du vælge mellem:
- bruge 2 linier kode (constructor + open)
- putte de 2 linier i en utility metode
- vælge nogle færdige utility metoder som f.eks. Microsoft DAAB
Avatar billede arne_v Ekspert
21. januar 2008 - 19:18 #3
nielle>

app_dat = app_data -> app_code ?
Avatar billede arne_v Ekspert
21. januar 2008 - 19:19 #4
Jeg vil iøvrigt anbefale MySQL Connector for .NET fremfor ODBC til MySQL.
Avatar billede nielle Nybegynder
21. januar 2008 - 19:22 #5
21/01-2008 19:18:40> Ja, selvfølgelig. :^)
Avatar billede jkampmann Nybegynder
22. januar 2008 - 18:38 #6
kan du give et simpelt eksempel arne eller nielle?
jeg plejer at arbejde med odbcConnection, da jeg ikke kender andre veje. Har du nogle gode foreslag?
Avatar billede arne_v Ekspert
22. januar 2008 - 18:50 #7
MySQL har et separat downloadable produkt "MySQL Connector for .NET", hvor du bruger
MySqlConnection etc..
Avatar billede jkampmann Nybegynder
22. januar 2008 - 18:58 #8
Kan du give et eksempel på at udskrive noget fra en tabel ved brug af MySqlConnection?
Avatar billede arne_v Ekspert
22. januar 2008 - 19:45 #9
MySqlConnection fungerer kode maessigt ligesom OdbcConnection - du faar bare
bedre performance, bedre fejl-meddelelseer og XCOPY deployment.

Banalt eksempel:

<%@ import namespace="MySql.Data.MySqlClient" %>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
    MySqlConnection con = new MySqlConnection("Database=Test;Data Source=localhost;User Id=;Password=");
    con.Open();
    MySqlCommand sel = new MySqlCommand("SELECT COUNT(*) FROM t1", con);
    long n = (long)sel.ExecuteScalar();
    con.Close();
    result.Text = n.ToString();
}
</script>
<asp:label id="result" runat="server"/>
Avatar billede jkampmann Nybegynder
20. februar 2008 - 09:55 #10
Okay - jamen, det vil sige jeg skal oprette en klasse, som forbinder mig til MySQL - og den klasse skal jeg bruge på de sider, jeg vil benytte MySQL?

Det nemmelig bare alt for besværligt for mig, at skulle lave connectionString og alle de ting, 1000 gange på undersiderne - og derfor bliver det også besværligt at ændre, hvis jeg skal overføre siderne til et andet webhotel med andre koder etc.

Arne - kan du give et eksempel - udfra din viden, at gøre det nemmeste? Altså her tænker jeg, placerer koderne og connection i én fil, også kunne "inkluderer" dem på andre undersider?

jeg er stadig ny, så har lidt svært ved at følge med i jeres samtale
Avatar billede arne_v Ekspert
21. februar 2008 - 01:15 #11
Du laver en klasse som henter en connection udfra en connection string i din web.config
og den klasse bruger du alle de steder, hvor du skal bruge database.
Avatar billede arne_v Ekspert
09. juni 2008 - 04:53 #12
Tid at få afsluttet her ?
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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