Jeg har lavet en listbox hvor jeg ville have min data ind i fra min db. Problemet er jeg får fejlen ( listen is a variable but is used like a method ) Jeg har p+røver en masse forskellige ting men har nu stiret mig blind håber der er en der kan hjælpe. -------------------------------------------------------------------------------
private void SøgFilmBnt1_Click(object sender, EventArgs e) { try { FilmListeBox.Items.Clear(); DataSet result; String insStr = "select * from Film where titel like "; insStr += "%' and FilmTitel like '"; insStr += FilmTitelText.Text; insStr += "%' and Director like '"; insStr += DirectorTextBox.Text; insStr += "%' and Length like '"; insStr += LenghtBox.Text; insStr += "%' and Skuespiller '"; insStr += SkuTextBox.Text; insStr += "%' and Producent '"; insStr += ProTextBox.Text; SqlConnection listen = new SqlConnection(); result = listen (insStr); int antal = result.Tables["res"].Rows.Count; for (int i = 0; i < antal; i++) { FilmListeBox.Items.Add(result.Tables["res"].Rows[i]["Titel"].ToString()); } } catch (Exception ex) { MessageBox.Show("Fejl i din søgning\n" + ex.Message.ToString()); }
Din variable listen (som er en sqlconnection) kan du ikke tildele result på den måde som du gør. (Du tilgår din variabel som en metode, præcis som fejlmeddelelsen siger)
Det ser ud som om dit eksempel ikke er helt færdigt. Hvor får du din connectionString fra? Og vil du bruge en DataReader eller et DataSet?
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient;
namespace LLBIO { public partial class AdminFilm : Form { public string FilmID; // public string movieid; public AdminFilm() { InitializeComponent(); }
private void SletFilmBnt_Click(object sender, EventArgs e) //// Slet film knap { SqlConnection con = new SqlConnection(Form1.conStr); string insStr = ("delete from Film where FilmID = " + FilmID + "'"); MessageBox.Show("Film slettet!"); }
private void SøgFilmBnt1_Click(object sender, EventArgs e) { try { FilmListeBox.Items.Clear(); DataSet result; String insStr = "select * from Film where titel like "; insStr += "%' and FilmTitel like '"; insStr += FilmTitelText.Text; insStr += "%' and Director like '"; insStr += DirectorTextBox.Text; insStr += "%' and Length like '"; insStr += LenghtBox.Text; insStr += "%' and Skuespiller '"; insStr += SkuTextBox.Text; insStr += "%' and Producent '"; insStr += ProTextBox.Text; SqlConnection listen = new SqlConnection(); result = SqlConnection. (insStr); int antal = result.Tables["res"].Rows.Count; for (int i = 0; i < antal; i++) { FilmListeBox.Items.Add(result.Tables["res"].Rows[i]["Titel"].ToString()); } } catch (Exception ex) { MessageBox.Show("Fejl i din søgning\n" + ex.Message.ToString()); }
}
private DataSet SqlConnection(string insStr) { throw new Exception("The method or operation is not implemented."); } } }
Mener at dette er en hurtig og let løsning: DataSet ds = new DataSet(); SqlConnection con = new SqlConnection("connectionstring"); SqlCommand cmd = new SqlCommand("SELECT * ...", cmd); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(ds); ListBox1.DataSource = ds; ListBox1.DataBind();
Jeg undskylder, det gik lidt for stærkt: DataSet ds = new DataSet(); SqlConnection con = new SqlConnection("Connectionstring"); SqlCommand cmd = new SqlCommand("SELECT...", con); SqlDataAdapter adapter = new SqlDataAdapter(cmd); adapter.Fill(ds); ListBox1.DataSource = ds; ListBox1.DataValueField = ds.Tables[0].Columns[0].ColumnName; ListBox1.DataBind();
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.