Can someone please help me with the following problem. I am trying to create a program in .NEt 2003 which connects to a database table in SQL server Express 5. However, after connecting to the local server, I then try to run the program and when I try to view the table in SQL express I get a 'System.NullreferenceException' and when I view the debug details it says that 'object reference is not set to an instance of an object' which am uncertain how to correct.
I have added a connection object which is initialsied with the address of the datable in SQL. Please find below the code that I am using showing the initialised connection object and also the table being called in 'button6' control.
I would greatly appreciate any help....thanks
using
System;using
System.Drawing;using
System.Collections;using
System.ComponentModel;using
System.Windows.Forms;using
System.Data;using
System.Data.SqlClient;namespace
MovieBase{
///{
private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button3; private System.Windows.Forms.Label label1; private System.Windows.Forms.Button button4; private System.Windows.Forms.Button button5; private System.Data.SqlClient.SqlConnection sqlConnection1; private System.Windows.Forms.ComboBox GengreList; private System.Windows.Forms.Button button6; private System.Windows.Forms.Button button7; private System.Data.SqlClient.SqlCommand sqlSelectCommand1; private System.Data.SqlClient.SqlCommand sqlInsertCommand1; private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter1; private System.Windows.Forms.Label label2; public DataSet MDSet = new DataSet();SqlDataAdapter MyAdapt;
private System.Data.SqlClient.SqlCommand sqlSelectCommand2; private System.Data.SqlClient.SqlCommand sqlInsertCommand2; private System.Data.SqlClient.SqlDataAdapter sqlDataAdapter2; //Connection object being initialised public SqlConnection MovCon = new SqlConnection("Data Source = SHERMAN/SQLEXPRESS;Initial Catalog= MovieDBase;User Id=myUsername;Password=myPassword");///
{
// // Required for Windows Form Designer support //InitializeComponent();
// // TODO: Add any constructor code after InitializeComponent call //}
///{
if( disposing ){
if (components != null){
components.Dispose();
}
}
base.Dispose( disposing );}
#region
Windows Form Designer generated code ///{
System.Resources.ResourceManager resources =
new System.Resources.ResourceManager(typeof(Form1)); this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.button4 = new System.Windows.Forms.Button(); this.button5 = new System.Windows.Forms.Button(); this.sqlConnection1 = new System.Data.SqlClient.SqlConnection(); this.GengreList = new System.Windows.Forms.ComboBox(); this.button6 = new System.Windows.Forms.Button(); this.button7 = new System.Windows.Forms.Button(); this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand(); this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter(); this.label2 = new System.Windows.Forms.Label(); this.sqlSelectCommand2 = new System.Data.SqlClient.SqlCommand(); this.sqlInsertCommand2 = new System.Data.SqlClient.SqlCommand(); this.sqlDataAdapter2 = new System.Data.SqlClient.SqlDataAdapter(); this.SuspendLayout(); // // button1 // this.button1.Location = new System.Drawing.Point(184, 168); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(96, 23); this.button1.TabIndex = 0; this.button1.Text = "Add A Movie"; this.button1.Click += new System.EventHandler(this.button1_Click); // // button2 // this.button2.Location = new System.Drawing.Point(184, 248); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(96, 23); this.button2.TabIndex = 1; this.button2.Text = "Delete A Movie"; this.button2.Click += new System.EventHandler(this.button2_Click); // // button3 // this.button3.Location = new System.Drawing.Point(184, 208); this.button3.Name = "button3"; this.button3.Size = new System.Drawing.Size(96, 23); this.button3.TabIndex = 2; this.button3.Text = "View Movies"; this.button3.Click += new System.EventHandler(this.button3_Click); // // label1 // this.label1.Font = new System.Drawing.Font("Myriad Web Pro", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.label1.Location = new System.Drawing.Point(280, 8); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(120, 24); this.label1.TabIndex = 3; this.label1.Text = "MOVIEBASE"; // // button4 // this.button4.Location = new System.Drawing.Point(448, 344); this.button4.Name = "button4"; this.button4.Size = new System.Drawing.Size(192, 23); this.button4.TabIndex = 4; this.button4.Text = "Current Movie Count"; this.button4.Click += new System.EventHandler(this.button4_Click); // // button5 // this.button5.Location = new System.Drawing.Point(496, 112); this.button5.Name = "button5"; this.button5.Size = new System.Drawing.Size(128, 32); this.button5.TabIndex = 5; this.button5.Text = "Find Movie"; this.button5.Click += new System.EventHandler(this.button5_Click); // // sqlConnection1 // this.sqlConnection1.ConnectionString = "workstation id=SHERMAN;packet size=4096;integrated security=SSPI;data source=\"SHE" +"RMAN\\SQLEXPRESS\";persist security info=False;initial catalog=MovieDBase";
this.sqlConnection1.InfoMessage += new System.Data.SqlClient.SqlInfoMessageEventHandler(this.sqlConnection1_InfoMessage); // // GengreList // this.GengreList.BackColor = System.Drawing.SystemColors.InactiveCaptionText; this.GengreList.Items.AddRange(new object[] {"Horror",
"Comedy",
"Family/Entertainment",
"Drama",
"Boxsets",
"Sci -fi/Fantasy"});
this.GengreList.Location = new System.Drawing.Point(184, 344); this.GengreList.Name = "GengreList"; this.GengreList.Size = new System.Drawing.Size(121, 21); this.GengreList.TabIndex = 6; // // button6 // this.button6.Location = new System.Drawing.Point(264, 104); this.button6.Name = "button6"; this.button6.Size = new System.Drawing.Size(160, 40); this.button6.TabIndex = 7; this.button6.Text = "View Movie List"; this.button6.Click += new System.EventHandler(this.button6_Click); // // button7 // this.button7.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.button7.Location = new System.Drawing.Point(360, 432); this.button7.Name = "button7"; this.button7.Size = new System.Drawing.Size(104, 40); this.button7.TabIndex = 8; this.button7.Text = "Exit Movie Base"; this.button7.Click += new System.EventHandler(this.button7_Click); // // sqlSelectCommand1 // this.sqlSelectCommand1.CommandText = "SELECT [Item Number], [Movie Title], Genre, [Date of Release], Director FROM [Mov" +"Table 1]";
this.sqlSelectCommand1.Connection = this.sqlConnection1; // // sqlInsertCommand1 // this.sqlInsertCommand1.CommandText = "INSERT INTO [MovTable 1] ([Item Number], [Movie Title], Genre, [Date of Release]," +" Director) VALUES (@Param1, @Param2, @Genre, @Param3, @Director); SELECT [Item N" +
"umber], [Movie Title], Genre, [Date of Release], Director FROM [MovTable 1]";
this.sqlInsertCommand1.Connection = this.sqlConnection1; this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param1", System.Data.SqlDbType.VarChar, 50, "Item Number")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param2", System.Data.SqlDbType.VarChar, 50, "Movie Title")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Genre", System.Data.SqlDbType.VarChar, 50, "Genre")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param3", System.Data.SqlDbType.VarChar, 50, "Date of Release")); this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Director", System.Data.SqlDbType.VarChar, 50, "Director")); // // sqlDataAdapter1 // this.sqlDataAdapter1.InsertCommand = this.sqlInsertCommand1; this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1; this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "MovTable 1", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("Item Number", "Item Number"), new System.Data.Common.DataColumnMapping("Movie Title", "Movie Title"), new System.Data.Common.DataColumnMapping("Genre", "Genre"), new System.Data.Common.DataColumnMapping("Date of Release", "Date of Release"), new System.Data.Common.DataColumnMapping("Director", "Director")})}); this.sqlDataAdapter1.RowUpdated += new System.Data.SqlClient.SqlRowUpdatedEventHandler(this.sqlDataAdapter1_RowUpdated); // // label2 // this.label2.Font = new System.Drawing.Font("Myriad Web Pro", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0))); this.label2.Location = new System.Drawing.Point(64, 344); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(120, 23); this.label2.TabIndex = 9; this.label2.Text = "Genres"; // // sqlSelectCommand2 // this.sqlSelectCommand2.CommandText = "SELECT [Item Number], [Movie Title], Genre, [Date of Release], Director FROM [Mov" +"Table 1]";
this.sqlSelectCommand2.Connection = this.sqlConnection1; // // sqlInsertCommand2 // this.sqlInsertCommand2.CommandText = "INSERT INTO [MovTable 1] ([Item Number], [Movie Title], Genre, [Date of Release]," +" Director) VALUES (@Param1, @Param2, @Genre, @Param3, @Director); SELECT [Item N" +
"umber], [Movie Title], Genre, [Date of Release], Director FROM [MovTable 1]";
this.sqlInsertCommand2.Connection = this.sqlConnection1; this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param1", System.Data.SqlDbType.VarChar, 50, "Item Number")); this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param2", System.Data.SqlDbType.VarChar, 50, "Movie Title")); this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Genre", System.Data.SqlDbType.VarChar, 50, "Genre")); this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param3", System.Data.SqlDbType.VarChar, 50, "Date of Release")); this.sqlInsertCommand2.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Director", System.Data.SqlDbType.VarChar, 50, "Director")); // // sqlDataAdapter2 // this.sqlDataAdapter2.InsertCommand = this.sqlInsertCommand2; this.sqlDataAdapter2.SelectCommand = this.sqlSelectCommand2; this.sqlDataAdapter2.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] { new System.Data.Common.DataTableMapping("Table", "MovTable 1", new System.Data.Common.DataColumnMapping[] { new System.Data.Common.DataColumnMapping("Item Number", "Item Number"), new System.Data.Common.DataColumnMapping("Movie Title", "Movie Title"), new System.Data.Common.DataColumnMapping("Genre", "Genre"), new System.Data.Common.DataColumnMapping("Date of Release", "Date of Release"), new System.Data.Common.DataColumnMapping("Director", "Director")})}); // // Form1 // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.BackColor = System.Drawing.SystemColors.InactiveCaption; this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); this.ClientSize = new System.Drawing.Size(704, 502); this.Controls.Add(this.label2); this.Controls.Add(this.button7); this.Controls.Add(this.button6); this.Controls.Add(this.GengreList); this.Controls.Add(this.button5); this.Controls.Add(this.button4); this.Controls.Add(this.label1); this.Controls.Add(this.button3); this.Controls.Add(this.button2); this.Controls.Add(this.button1); this.Name = "Form1"; this.Text = "Form1"; this.ResumeLayout(false);}
#endregion
///[STAThread]
static void Main(){
Application.Run(
new Form1());}
private void sqlConnection1_InfoMessage(object sender, System.Data.SqlClient.SqlInfoMessageEventArgs e){
}
private void button5_Click(object sender, System.EventArgs e){
MessageBox.Show("///Under Construction");
}
private void button1_Click(object sender, System.EventArgs e){
MessageBox.Show("///Under Construction");
}
private void button2_Click(object sender, System.EventArgs e){
MessageBox.Show("///Under Construction");
}
private void button3_Click(object sender, System.EventArgs e){
MessageBox.Show("///Under Construction");
}
private void button4_Click(object sender, System.EventArgs e){
MessageBox.Show("There is currently no movie count available");
}
//button6_control private void button6_Click(object sender, System.EventArgs e){
Form2 F2 =
new Form2();sqlConnection1.Open();
MyAdapt.Fill(MDSet, "MovTable 1");
F2.dataGrid1.DataSource = MDSet;
}
private void button7_Click(object sender, System.EventArgs e){
this.Close();sqlConnection1.Close();
}
private void sqlDataAdapter1_RowUpdated(object sender, System.Data.SqlClient.SqlRowUpdatedEventArgs e){
}
}
}
Ashley JacksonPosted Feb 24, 2008, 4:44 PM
Also, you need to link the adapter to a db connection. You can do this when you intialise it.
Ash...