05. marts 2009 - 10:10Der er
6 kommentarer og 1 løsning
SQL to Listbox Igen ;)
Fandt ud af jeg nægtede at give op... Kiggede på det der blev svaret sidst... Nu ser det ud til jeg får min Connection osv, men synes ikke rigtigt den læster noget... Den smider det i hvertfald ikke ind i min listbox... Her er koden...
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.Sql; using System.Data.SqlClient;
namespace PeopleCounterClient { public partial class PeopleCounterClient : Form {
public PeopleCounterClient() { InitializeComponent(); }
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 string ToString() { return name + "(" + id + ")"; } }
void Refresh_Click(object sender, EventArgs e) { //Åbner min connection SqlConnection con = new SqlConnection("Data Source=#####;Initial Catalog=#####;Integrated Security=SSPI"); try { con.Open();
//Fyrer min query af. SqlCommand sqlCom = new SqlCommand("SELECT TOP 3 * FROM #####.PeopleCounterLog WHERE (ShopID = '226')", con); //Læser data SqlDataReader rdr = sqlCom.ExecuteReader(); rdr = sqlCom.ExecuteReader();
// print the CustomerID of each record
//Laver en while lykke, der sig så længe den læser en linie data fra SQL while (rdr.Read()) { listBox1.Items.Clear(); while (rdr.Read()) { Store s = new Store(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2)); listBox1.Items.Add(s); } }
Nu når den ned i while lykken, men hopper ud efter den har læst Store s = New Store (osv)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.Sql; using System.Data.SqlClient;
namespace PeopleCounterClient { public partial class PeopleCounterClient : Form {
public PeopleCounterClient() { InitializeComponent(); }
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 string ToString() { return name + "(" + id + ")"; } }
void Refresh_Click(object sender, EventArgs e) { //Åbner min connection SqlConnection con = new SqlConnection("Data Source=Mimer;Initial Catalog=PeopleCounter;Integrated Security=SSPI"); try { con.Open();
//Fyrer min query af. SqlCommand sqlCom = new SqlCommand("SELECT TOP 3 * FROM innoteck.PeopleCounterLog WHERE (ShopID = '226')", con); //Læser data SqlDataReader rdr = sqlCom.ExecuteReader(); //rdr = sqlCom.ExecuteReader();
// print the CustomerID of each record
//Laver en while lykke, der sig så længe den læser en linie data fra SQL while (rdr.Read()) { listBox1.Items.Clear(); while (rdr.Read()) { Store s = new Store(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2)); listBox1.Items.Add(s); Console.WriteLine(s); Console.ReadLine(); }
Jeg ved ikke om du selv har set det, men du kalder Clear på din listbox inde i en while løkke. Og du har 2 while-løkker som itererer igennem datareaderen.
//Laver en while lykke, der sig så længe den læser en linie data fra SQL while (rdr.Read()) { listBox1.Items.Clear(); while (rdr.Read()) { Store s = new Store(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2)); listBox1.Items.Add(s); Console.WriteLine(s); Console.ReadLine(); }
}
prøv at skifte det ud med:
//Laver en while lykke, der sig så længe den læser en linie data fra SQL
listBox1.Items.Clear(); List<Store> stores = new List<Store>();
while (rdr.Read()) { stores.Add(new Store(rdr.GetString(0), rdr.GetString(1), rdr.GetString(2))); Console.WriteLine(s); Console.ReadLine(); }
lukker eftersom der ikke er blevet afgivet et svar fra aaberg_cc. Skriv endelig hvis du stadig er derude og vil have dine points, så laver vi lige en ny tråd.
Synes godt om
Ny brugerNybegynder
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.