I wrote the code but when I start the project in debug mode I get an error when I try to add a new student to the dataset. I don;t know the exact error as my Visual Studio is the Dutch version. Its something about an object reference with has no object to refere to?
Below you kan see the code. I hope you can help me!
Dataset and Datatable
Code:
DataSet dsStudenten = new DataSet("studenten");
DataTable dtStudent = new DataTable("student");
Code:
private void BtnAanmelden_Click(object sender, EventArgs e)
{
DataRow drStudent = dsStudenten.Tables["student"].NewRow();
if (cbAanw.Checked)
{
instatus = "1";
}
else
{
instatus = "0";
}
drStudent["ovnummer"] = TbOvnr.Text;
drStudent["instatus"] = instatus;
dsStudenten.Tables["student"].Rows.Add(drStudent);
LbStudenten.Items.Add(drStudent[0]);
TbOvnr.Clear();
}
Bernhard FlokstraPosted Dec 10, 2008, 1:09 PM
Ryan AlfordPosted Dec 2, 2008, 12:02 PM
DataRow drStudent = dsStudenten.Tables["student"].NewRow();
You don't have a "Student" DataTable. You have a "student" DataTable. Yes, it is case-sensitive.
Bernhard FlokstraPosted Dec 2, 2008, 11:25 AM
Ryan AlfordPosted Dec 2, 2008, 10:05 AM
Bernhard FlokstraPosted Dec 1, 2008, 6:22 AM
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;
namespace Studenten
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string instatus;
string ovnummer;
DataSet dsStudenten = new DataSet("Studenten");
DataTable dtStudent = new DataTable("Student");
private void form1_Load(object sender, EventArgs e)
{
dtStudent.Columns.Add("ovnummer", typeof(string));
dtStudent.Columns.Add("in", typeof(string));
dsStudenten.Tables.Add(dtStudent);
dsStudenten.ReadXml("studenten.xml");
}
private void BtnAanmelden_Click_1(object sender, EventArgs e)
{
DataRow drStudent = dsStudenten.Tables["Student"].NewRow();
if (CbIn.Checked)
{
instatus = "1";
}
else
{
instatus = "0";
}
drStudent["ovnummer"] = TbObnr.Text;
drStudent["in"] = instatus;
dsStudenten.Tables["student"].Rows.Add(drStudent);
LsbStudenten.Items.Add(drStudent[0]);
TbObnr.Clear();
}
}
}
Rajendra DeopuraPosted Dec 1, 2008, 5:21 AM
I think the DataTable you have created in not attached to the dataset. Please llok at the code :
DataSet dsStudent=new DataSet();
DataTable dtStudent=new DataTable();
/* Create Columns and add them to DataTable*/
dsStudent.Tables.Add(dtStudent);
I think it will solve your problem.
Thanks
Happy Coding
Bechir BejaouiPosted Dec 1, 2008, 5:08 AM
Have you ever instanciate your Student
Student x = new Student();
object befor using it ?
Ryan AlfordPosted Nov 30, 2008, 1:39 PM
Bernhard FlokstraPosted Nov 30, 2008, 11:27 AM
Bechir BejaouiPosted Nov 25, 2008, 6:07 PM