Avatar billede rumbassen Nybegynder
10. november 2003 - 10:52 Der er 6 kommentarer og
2 løsninger

skal gå et step frem i dataset, indtil sidste værdi er udlæst

Hej

Jeg henter alt data fra en kollonne i en sql-database og lægger det ind i et datasæt.
Jeg skal kunne gå et step frem og lægge data over i en variabel, indtil jeg når den sidste værdi.
Avatar billede neverwho Nybegynder
10. november 2003 - 10:55 #1
kan du ikke bruge en foreach() lykke?
har du lagt data i et array eller arraylist eller...?
Avatar billede rumbassen Nybegynder
10. november 2003 - 11:01 #2
Har forsøgt lidt med en SQLDataReader i en while lykke.
Men jeg ved ikke helt hvordan jeg skal gribe det an.
Avatar billede mufoxe Nybegynder
10. november 2003 - 14:02 #4
Med datareaderen

while ( datareader.Read() )
  blablablablablabla;

Med DataSet
foreach ( DataRow row in dataset.Tables[0] )
  blablablablablabla;
Avatar billede finger Nybegynder
11. november 2003 - 09:38 #5
-----------form1--------
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace WindowsApplication9
{
    /// <summary>
    /// Summary description for Form1.
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    {
        private System.Windows.Forms.DataGrid dataGrid1;
        private WindowsApplication9.Dataset1 dataset11;
        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.ListBox listBox1;
        private System.Windows.Forms.Button button2;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public Form1()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.dataGrid1 = new System.Windows.Forms.DataGrid();
            this.dataset11 = new WindowsApplication9.Dataset1();
            this.button1 = new System.Windows.Forms.Button();
            this.listBox1 = new System.Windows.Forms.ListBox();
            this.button2 = new System.Windows.Forms.Button();
            ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.dataset11)).BeginInit();
            this.SuspendLayout();
            //
            // dataGrid1
            //
            this.dataGrid1.DataMember = "";
            this.dataGrid1.DataSource = this.dataset11.myTable;
            this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
            this.dataGrid1.Location = new System.Drawing.Point(8, 40);
            this.dataGrid1.Name = "dataGrid1";
            this.dataGrid1.Size = new System.Drawing.Size(344, 152);
            this.dataGrid1.TabIndex = 0;
            //
            // dataset11
            //
            this.dataset11.DataSetName = "Dataset1";
            this.dataset11.Locale = new System.Globalization.CultureInfo("en-US");
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(120, 8);
            this.button1.Name = "button1";
            this.button1.TabIndex = 4;
            this.button1.Text = "Load data";
            this.button1.Click += new System.EventHandler(this.button1_Click);
            //
            // listBox1
            //
            this.listBox1.Location = new System.Drawing.Point(368, 40);
            this.listBox1.Name = "listBox1";
            this.listBox1.Size = new System.Drawing.Size(120, 147);
            this.listBox1.TabIndex = 5;
            //
            // button2
            //
            this.button2.Location = new System.Drawing.Point(384, 8);
            this.button2.Name = "button2";
            this.button2.TabIndex = 6;
            this.button2.Text = "Get data";
            this.button2.Click += new System.EventHandler(this.button2_Click);
            //
            // Form1
            //
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(728, 206);
            this.Controls.Add(this.button2);
            this.Controls.Add(this.listBox1);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.dataGrid1);
            this.Name = "Form1";
            this.Text = "Form1";
            ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.dataset11)).EndInit();
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.Run(new Form1());
        }

        private void button1_Click(object sender, System.EventArgs e)
        {
            Dataset1.myTableRow row = dataset11.myTable.NewmyTableRow();
            row.MyRow1 = "hej1";
            row.MyRow2 = "hej2";
            row.MyRow3 = "hej3";
            row.MyRow4 = "hej4";
            dataset11.myTable.AddmyTableRow(row);

            row = dataset11.myTable.NewmyTableRow();
            row.MyRow1 = "hej1";
            row.MyRow2 = "hej2";
            row.MyRow3 = "hej3";
            row.MyRow4 = "hej4";
            dataset11.myTable.AddmyTableRow(row);

            row = dataset11.myTable.NewmyTableRow();
            row.MyRow1 = "hej1";
            row.MyRow2 = "hej2";
            row.MyRow3 = "hej3";
            row.MyRow4 = "hej4";
            dataset11.myTable.AddmyTableRow(row);
        }

        private void button2_Click(object sender, System.EventArgs e)
        {
            foreach(DataRow d in dataset11.myTable.Rows)
            {
                listBox1.Items.Add(d[1].ToString());
            }
        }
    }
}
Avatar billede finger Nybegynder
11. november 2003 - 09:39 #6
--------DataSet1.xsd----------
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="Dataset1" targetNamespace="http://tempuri.org/Dataset1.xsd" elementFormDefault="qualified"
    attributeFormDefault="qualified" xmlns="http://tempuri.org/Dataset1.xsd" xmlns:mstns="http://tempuri.org/Dataset1.xsd"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="Dataset1" msdata:IsDataSet="true">
        <xs:complexType>
            <xs:choice maxOccurs="unbounded">
                <xs:element name="myTable">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="MyRow1" type="xs:string" minOccurs="0" />
                            <xs:element name="MyRow2" type="xs:string" minOccurs="0" />
                            <xs:element name="MyRow3" type="xs:string" minOccurs="0" />
                            <xs:element name="MyRow4" type="xs:string" minOccurs="0" />
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:choice>
        </xs:complexType>
    </xs:element>
</xs:schema>
Avatar billede mufoxe Nybegynder
11. november 2003 - 13:20 #7
Neat ... eller noget ;)
Avatar billede finger Nybegynder
11. november 2003 - 14:15 #8
tja. det er jo basalt det samme som du skrev mufoxe.
Jeg har bare penslet det lidt mere ud. :-)
hvis han engang svarer på spørgsmålet kan vi jo bare bede ham om at dele point ud.
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