Avatar billede hobz Nybegynder
20. oktober 2003 - 14:30 Der er 11 kommentarer og
1 løsning

DataGrid & MySQL

Jeg har oprette en forbindelse til en MySQL database og fået outputtet ud i et dataGrid.

1) Jeg vil gerne gøre min connectionString global, så jeg ikke skal skrive den hver gang, hvordan gør jeg dette?

2) Hvordan kan jeg tage selectede værdier ud af et dataGrid og føre dem over i et andet?
Avatar billede finger Nybegynder
20. oktober 2003 - 14:33 #1
snakker vi winforms eller webforms?
Avatar billede hobz Nybegynder
20. oktober 2003 - 14:36 #2
Winforms. sidder i Borland C#Builder.
Avatar billede finger Nybegynder
20. oktober 2003 - 14:44 #3
Jeg kender ikke borland, men det kan da være at det har en smart måde at gøre den slags ting på det. Ellers ville jeg bygge det selv.
Det kunne gøre således:

1:
Lav en assembly med public constanter hvori du kan lægge din connectionstring. lav reference til den fra dine andre projekter.
Den kan du så altid hente din connecstring fra.

2:
værdierne i et datagrid ligger som så ikke i selv datagrid'et. Det viser blot værdierne. Værdierne ligger i et dataSet (evt DataTable) i koden. Dit Datagrid har så ast datasource til dette dataSet. hvordan du vil overføre ka gøres på flere måder. Du kan fx først vælge en række i et datagrid, og trykke på en knap. I eventhandleren til knappen kan du så gøre en af flere ting. DataGrid har en property der hedder noget i retningen af CurrentRowIndex. med den kan du indexere en række i dit dataset og hive hele eller dele af rækken ud. Det er ihvertfald een måde at gøre det på.
Avatar billede hobz Nybegynder
20. oktober 2003 - 15:18 #4
1) En assembly?

2) Jeg prøver at kigge på det.
Avatar billede finger Nybegynder
20. oktober 2003 - 15:37 #5
det behøves ikke være en assembly. du kan også bare lave en public klasse med public variable. Det er bare nemt at decompilere... men det er en assembly selvfølgelig også.
Avatar billede repsak Nybegynder
20. oktober 2003 - 15:38 #6
public class DB{
  public static readonly string CONNECTION_STRING = "blabla";
}
Avatar billede repsak Nybegynder
20. oktober 2003 - 15:39 #7
finger -> hvordan decompiler du en .dll?
Avatar billede finger Nybegynder
20. oktober 2003 - 15:45 #8
det gør jeg ikke...
men har da hørt om noget der skulle hedde salamander eller lign.
Der findes garanteret værktøjer til det derude.
Avatar billede hobz Nybegynder
20. oktober 2003 - 16:04 #9
Hva så med selve min connection ? Den vil jeg også gøre public.
MySQLConnection conn = new MySQLConnection(...);
Avatar billede finger Nybegynder
20. oktober 2003 - 16:28 #10
det kan du i princippet også godt gøre. det er det man normalt kalder et facade pattern. Du skal bare huske at åbne og lukke den (rydde op efter dig) når du bruger den.
bemærk at det kan tage lang tid (relativt) at etablere en forbindelse til en database hvorfor noget pooling er en god ide. Men her kan jeg ikke hjælpe.
Avatar billede finger Nybegynder
20. oktober 2003 - 16:30 #11
og hvis der er flere processor (tråde) der benytter den samtidigt, kan de gå galt. lå den evt hvis det er et problem.

i klasse....
static object padlock = new object();


i metode....
lock(padlock)
{
her er der garanteret tråd sikkerhed
}
her bliver den automatisk  låst op igen.
Avatar billede hobz Nybegynder
20. oktober 2003 - 22:30 #12
Tak for din hjælp. Den var god og forklarende.
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