Avatar billede j3ppah Novice
04. marts 2009 - 09:51 Der er 4 kommentarer og
1 løsning

SQL output til Listbox

Hej alle glade exsperter, før og fremmest, er jeg stadig rimeligt grøn inden for c#...

Jeg er ved at lave en lille Client, til noget kundetæller system vi har.
Meningen med clienten er så at den skal fyrer en query (MSSQL) som jeg har lavet af, på vores SQL server.
Det den SQL Query smider tilbage, er så de butikker hvor kundetælleren ikke virker i. Butikkerne er delt op i 3 kolonner, når queryen er fyret af. AccessID, ShopName, EstDate.

Hvis nogen hellere vil sidde med koden mens jeg forklare så er den her http://rapidshare.com/files/205126128/PeopleCounterClient.rar.html

Well.. Disse data som den så finder frem, skal den smide i en ListBox.
Når det så er gjort skal jeg have lavet muligheden at man kan dobbeltklikke på dem, for at åbne en dialogbox, som man kan skive hvad man har lavet af action, til at få den til at virke...
Denne record kommer den så til at gemme på en af vores servere, så vi altid har dokumentation, på hvad der har været galt med kundetællerne.

Men først og fremmest, har jeg bare problemer med at få SQL connectionen til at virke ordenlidt, og smide data ind i en ListBox.

Håber der er nogen der kan hjælpe, er lidt på "Le Rief".

PS. Dette bliver nok et længere projekt, da jeg har en helt masse ideer. Så der kommer nok flere spørgsmål fra mig hvis jeg støder ind i nogle problemer jeg simpelthend ikke kan løse. :)...

Best Regards.
Jeppe
Avatar billede j3ppah Novice
04. marts 2009 - 10:07 #1
Avatar billede annxii Nybegynder
04. marts 2009 - 12:53 #2
Dit første problem med SqlConnection er ret svært at løse når man ikke ved noget som helst om server type, placering i fht. programmet, men et godt bud ville være at kigge forbi http://connectionstrings.com/ De har alt hvad hjerte kan begære af mulige connection settings :-)

Hvad angår din data når den første er trukket ud så vil jeg anbefale dig at lave en lille class til at smide hver række ind i. Det array af classes du så får ud kan du bare tilføje til listbox'ens Items-list, og override ToString på classen så du får et pænt output i listbox'en.

ex:
public class Store
{
  public string id;
  public string name;
  public string date;

  public Store(string intputId, string inputName, string inputNameDate)
  {
    id = intputId;
    name = inputName;
    date = inputNameDate;
  }

  public override void ToString()
  {
    return name + "(" + id + ")";
  }
}

/* I dit while-loop */

listbox1.Items.Clear();
while(rdr.read())
{
  Store s = new Store(rdr.GetString(0), rdr.GetString(1),rdr.GetString(2));
  listbox1.Items.Add(s);
}
/********************/
Data-typerne skriver du ikke noget om så det må du selv holde styr på :-)

husk at Clear listbox'en, fordi ellers vil den fylde flere og flere items ind i listbox'en hvis man klikker refresh mere end 1 gang.

Når du så skal finde ud af hvilket id den butik, der blev klikket på har, kan du "caste" SelectedItem på listbox'en og derved igen kunne tilgå dataen fra dit specifikke objekt.

/*********************/
Store s = (Store)listbox1.SelectedItem;
/*********************/

Jeg håber det hjælper lidt :-)
Avatar billede j3ppah Novice
04. marts 2009 - 13:02 #3
Tror sku egentligt jeg har gabt over for meget... Bare smid et svar, tror det ender med jeg lader den ligge stille... :/...
By the way, data var. Int, char, date. (SQL 2005)
Avatar billede j3ppah Novice
04. marts 2009 - 13:03 #4
Bare smid et svar
Avatar billede annxii Nybegynder
04. marts 2009 - 13:42 #5
svar
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