Avatar billede ircnoob Nybegynder
08. august 2006 - 23:32 Der er 16 kommentarer

Syg kode

MySqlConnection cnnVideos = new MySqlConnection("Database=videos;Data Source=localhost;User Id=root;Password=test");
            cnnVideos.Open();
            string strVideos = "SELECT name, adress from member;";
            MySqlCommand cmdVideos = new MySqlCommand(strVideos, cnnVideos);

            MySqlDataAdapter dadVideoCollection = new MySqlDataAdapter(cmdVideos);

            DataSet setVideos = new DataSet("videos");
            dadVideoCollection.Fill(setVideos);
            dataGrid1.DataSource = setVideos;
            dataGrid1.DataMember = setVideos.Tables[0].TableName;

            DataColumn colSecond = setVideos.Tables[0].Columns[1];
            MessageBox.Show("The name of the second column is " + colSecond.ColumnName);
           
            cnnVideos.Close();

---
får fejlen System.NullReferenceException: Object reference not set to an instance of an object.  - vist på liien med            dataGrid1.DataSource = setVideos; ...

Skulle bare gerne have vist data fra databasen i et datagrid men det vil bare ikke :(
Avatar billede websam Nybegynder
08. august 2006 - 23:39 #1
Den fejl får du hvis du ikke har object, så et eller andet siger mig at din "setVideos" er null altså indeholderdet ikke noget ;o)

har du prøvet at debugge for at se om den indeholder noget ?

/Websam
Avatar billede arne_v Ekspert
08. august 2006 - 23:45 #2
jeg synes snarere at det ser ud som om dataGrid1 er null
Avatar billede ircnoob Nybegynder
08. august 2006 - 23:45 #3
har prøvet at debugge men bliver ikke rigtig klogere af det desværre .. der kommet fejlen ikke, men den viser tilgengæld heller ikke noget i vinduet..
Avatar billede ircnoob Nybegynder
08. august 2006 - 23:57 #4
Hmmm du har vist ret arne..
dataGrid1' is never assigned to, and will always have its default value null   

men æh hvordan kommer jeg nu videre derfra .. ?
Avatar billede ircnoob Nybegynder
09. august 2006 - 00:02 #5
Hmm...
ved InitializeComponent(); tiføjede jeg this.dataGrid1 = new System.Windows.Forms.DataGrid(); .. løser vist null værdi problemet.. og den kører nu og melder hvad anden kolonne hedder.. underligt nok viser den bare intet i datagrid endnu ?
Avatar billede websam Nybegynder
09. august 2006 - 00:02 #6
Mangler du ikke en dataGrid1.DataBind ?
Avatar billede websam Nybegynder
09. august 2006 - 00:07 #7
når jeg benytter de inbyggede controller så har jeg altid en databind med :

....
DataGrid1.DataSource = "et eller andet"
DataGrid1.DataBind()
....

jeg tror det er det du mangler ?!?

/Websam
Avatar billede ircnoob Nybegynder
09. august 2006 - 00:09 #8
'System.Windows.Forms.DataGrid' does not contain a definition for 'DataBind' hvis jeg prøver det..
Avatar billede websam Nybegynder
09. august 2006 - 00:20 #9
Nej og det er jo fordi jeg sidder og tænker asp.net........hmmmmmm så ved jeg ikke lige hvad det kan være har du søgt på msdn ?

evt. denne : http://msdn2.microsoft.com/en-us/library/system.windows.forms.datagrid.aspx

/Websam
Avatar billede ircnoob Nybegynder
09. august 2006 - 00:28 #10
hmm ja .. dataGrid1.SetDataBinding() jeg skal have fat i så vidt jeg kan se.. kan vist bare ikk finde ud af at udfylde det korrekt for den viser da nada ..
Avatar billede websam Nybegynder
09. august 2006 - 01:00 #11
Nu arbejder jeg mest med web applicationer, men du må jo ikke have noget i dit dataset så, hvad viser debug at dit dataset indeholder ?

/Websam
Avatar billede ircnoob Nybegynder
09. august 2006 - 01:49 #12
MessageBox.Show("The name of the second column is " + colSecond.ColumnName);

- virker jo fint og databasen har kørt fint i min java applikation ..
Avatar billede ircnoob Nybegynder
09. august 2006 - 02:06 #13
Må være udfyldningen af setdatabinding jeg udfylder forkert.. men kan godt nok ikk lige komme på noget der virker
Avatar billede dr_chaos Nybegynder
09. august 2006 - 09:52 #14
Her er et simpelt eksempel på set databinding:
// Creates a DataSet named SuppliersProducts.
    DataSet SuppliersProducts = new DataSet("SuppliersProducts");
    // Adds two DataTable objects, Suppliers and Products.
    SuppliersProducts.Tables.Add(new DataTable("Suppliers"));
    SuppliersProducts.Tables.Add(new DataTable("Products"));
    // Insert code to add DataColumn objects.
    // Insert code to fill tables with columns and data.
    // Binds the DataGrid to the DataSet, displaying the Suppliers table.
    dataGrid1.SetDataBinding(SuppliersProducts, "Suppliers");
Avatar billede ircnoob Nybegynder
09. august 2006 - 10:50 #15
'System.Data.DataTableCollection' does not contain a definition for 'add'   

hvis jeg forsøger mig med at tilføje:
DataSet setVideos = new DataSet("setVideos");
            setVideos.Tables.add(new DataTable("name"));
            setVideos.Tables.add(new DataTable("adress"));
Avatar billede ircnoob Nybegynder
09. august 2006 - 23:59 #16
Nu har jeg fundet noget kode som skulle virke..
men virker bare ikke her.. :(

Compiler men viser ikke data

Link: http://www.csharphelp.com/archives/archive236.html

-------
MySqlConnection cnnVideos = new MySqlConnection("Database=tiebreak;Data Source=localhost;User Id=root;Password=test");
            cnnVideos.Open();
            string strVideos = "SELECT name, adress from member;";
           
            adapter = new MySqlDataAdapter();
            adapter.SelectCommand = new MySqlCommand(strVideos, cnnVideos);

            DataSet setVideos = new DataSet("setVideos");
          // setVideos.Tables.add(new DataTable("name"));
          // setVideos.Tables.add(new DataTable("adress"));
           
            adapter.Fill(setVideos, "member");
            this.dataGrid1.DataSource = setVideos;
            this.dataGrid1.DataMember = "member";
            this.dataGrid1.SetDataBinding(setVideos, "member");
            DataTable t = setVideos.Tables["member"];
           


            DataColumn colSecond = setVideos.Tables[0].Columns[0];
            MessageBox.Show("The name of the second column is " + colSecond.ColumnName);
           
            cnnVideos.Close();
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