Vinnaren i pepparkakshustävlingen!
2016-08-20, 11:09
  #1
Medlem
MeanMEs avatar
Jag suger styggt på SQL men håller på att lära mig det så sakteliga på gamla dar.
Har ett lite större projekt jag jobbar med och har använt mig av C# att bygga ett
interface mot MySQL relationsdatabasen.
Allt funkar som det skall trots mina i det närmaste obefintliga kunskaper i SQL.

Problemet jag har kvar är alla nycklar som skall översättas till sin representation i
DataGridViewern, jag har två lösningar på det som funkar men de är inte "snygga".
Och det stör mig, det borde gå att kunna lösas lätt med SQL syntax utan att behöva
programmeringstekniskt gå igenom en SELECT * sökning, och lösa ut dem med ett
gäng switch case algoritmer som returnerar resp textsträngrepresentation eller ge
formatet för binärrepresentationen i blobfälten.

Så jag har en massa tables med id nycklar i int och representationsfälten är VARCHAR
och BLOB.
Typ:
Kod:
träd
id trädtyper ...
1 Ek
2 Björk
3 Al
...
blommor
id blomtyper ...
1 Rosor
2 Tulpaner
3 Orchidéer
...

Det ser ju ut som: "3, 2", i table "växter" när jag vill att det skall stå "Al, Tulpaner" där i stället. Hur får jag ihop ett fungerande SQL kommando som jag kan ladda min MySQLDataAdepter med och sedan trycka in i min DataTabel för att sedan använda som datasource till min DataGridView över en bindingsource?
__________________
Senast redigerad av MeanME 2016-08-20 kl. 11:13.
Citera
2016-08-20, 18:54
  #2
Moderator
Protons avatar
Citat:
Ursprungligen postat av MeanME
Jag suger styggt på SQL men håller på att lära mig det så sakteliga på gamla dar.
Har ett lite större projekt jag jobbar med och har använt mig av C# att bygga ett
interface mot MySQL relationsdatabasen.
Allt funkar som det skall trots mina i det närmaste obefintliga kunskaper i SQL.

Problemet jag har kvar är alla nycklar som skall översättas till sin representation i
DataGridViewern, jag har två lösningar på det som funkar men de är inte "snygga".
Och det stör mig, det borde gå att kunna lösas lätt med SQL syntax utan att behöva
programmeringstekniskt gå igenom en SELECT * sökning, och lösa ut dem med ett
gäng switch case algoritmer som returnerar resp textsträngrepresentation eller ge
formatet för binärrepresentationen i blobfälten.

Så jag har en massa tables med id nycklar i int och representationsfälten är VARCHAR
och BLOB.
Typ:
Kod:
träd
id trädtyper ...
1 Ek
2 Björk
3 Al
...
blommor
id blomtyper ...
1 Rosor
2 Tulpaner
3 Orchidéer
...

Det ser ju ut som: "3, 2", i table "växter" när jag vill att det skall stå "Al, Tulpaner" där i stället. Hur får jag ihop ett fungerande SQL kommando som jag kan ladda min MySQLDataAdepter med och sedan trycka in i min DataTabel för att sedan använda som datasource till min DataGridView över en bindingsource?
Det är inte lätt att begripa vad det är du är ute efter egentligen.

Är det att ladda din datagrid från ett dataset, eller vad är det egentligen du har problem med?
Citera
2016-08-20, 18:58
  #3
Medlem
MeanMEs avatar
Fick det att funka.

Använde mig av ett antal INNER JOIN och fogade ihop det hela.
Citera
2016-08-20, 19:38
  #4
Medlem
MeanMEs avatar
Citat:
Ursprungligen postat av Proton
Det är inte lätt att begripa vad det är du är ute efter egentligen.

Är det att ladda din datagrid från ett dataset, eller vad är det egentligen du har problem med?
Ja att formatera SQL strängen så jag kan ge användarna ett meningsfullt interface att jobba emot.

Sitter du med en större relationsdatabas med en massa olika tables representerade,
har du ju i din maintable en massa nycklar i form av integers.
Det funkar ju inte för en användare att jobba emot ett sådant interface.

Kan ju relaterat till exemplet ovan se ut som i table park i ett förenklat exempel.

park
id stad namn träd1 träd2 träd3 blomma1 blomma2 blomma3 ...
Vilket ger användaren en vy av:
4 Storköping Stadsparken 1 6 7 18 4 32 134 87...

Går ju inte att jobba emot något sådant.
Så jag löste det med att med hjälp av kommandot INNER JOIN föra ihop de olika tablerna till
4 Storköping Stadsparken Ek Björk Bok Blåklocka Rosor Tulpaner [bild] [form dokument] ...

Vilket ger för användaren ett meningsfullare interface att jobba emot i DataGrindViewen.
Nu tar jag ju bara det sökresultatet och smackar upp det i Viewen och slipper skriva en
massa onödig kod. Formateringen av värdena mot databasen och programmet är redan
löst utan jag sökte en snygg programmeringsteknisk lösning för att visualisera resultatet
för användaren.

Men då jag fullkomligt suger på SQL, dess syntax och terminologi är det svårt att hitta
det man söker när man inte ens känner till vad det benämns som inom SQL världen.
Men hittade det jag sökte på sidan:

https://www.sitepoint.com/understand...ysql-database/
Citera
2016-08-20, 23:02
  #5
Moderator
Protons avatar
Citat:
Ursprungligen postat av MeanME
Ja att formatera SQL strängen så jag kan ge användarna ett meningsfullt interface att jobba emot.

Sitter du med en större relationsdatabas med en massa olika tables representerade,
har du ju i din maintable en massa nycklar i form av integers.
Det funkar ju inte för en användare att jobba emot ett sådant interface.

Kan ju relaterat till exemplet ovan se ut som i table park i ett förenklat exempel.

park
id stad namn träd1 träd2 träd3 blomma1 blomma2 blomma3 ...
Vilket ger användaren en vy av:
4 Storköping Stadsparken 1 6 7 18 4 32 134 87...

Går ju inte att jobba emot något sådant.
Så jag löste det med att med hjälp av kommandot INNER JOIN föra ihop de olika tablerna till
4 Storköping Stadsparken Ek Björk Bok Blåklocka Rosor Tulpaner [bild] [form dokument] ...

Vilket ger för användaren ett meningsfullare interface att jobba emot i DataGrindViewen.
Nu tar jag ju bara det sökresultatet och smackar upp det i Viewen och slipper skriva en
massa onödig kod. Formateringen av värdena mot databasen och programmet är redan
löst utan jag sökte en snygg programmeringsteknisk lösning för att visualisera resultatet
för användaren.

Men då jag fullkomligt suger på SQL, dess syntax och terminologi är det svårt att hitta
det man söker när man inte ens känner till vad det benämns som inom SQL världen.
Men hittade det jag sökte på sidan:

https://www.sitepoint.com/understand...ysql-database/
Rekommenderar dig i sådana fall att kolla igenom tråden (FB) Främmande nycklar(Och sql join)(/mod) där joins gås igenom hyggligt grundligt.
Citera
2016-08-20, 23:13
  #6
Medlem
MeanMEs avatar
Citat:
Ursprungligen postat av Proton
Rekommenderar dig i sådana fall att kolla igenom tråden (FB) Främmande nycklar(Och sql join)(/mod) där joins gås igenom hyggligt grundligt.
Tack för tipset.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback