Thanks, that worked.
But now how do I access the prop_myAccessConn, prop_myAccessCommand and prop_myDataAdapter fields? They display as blank in class2 when I do this in class2:
Console.WriteLine(oclass1.prop_myAccessConn);
Thanks,
Jerryt
>You defined the DataSet variable but haven't initilized it. Do the following in Class1.
>
>public DataSet prop_myDataSet = new DataSet();
>
>
>>Using C#.
>>
>>I am trying to create 2 classes. In class1, I am trying to define my OleDb connection vars/fields.
>>
>>In class2, I am trying to use these fields from class1 to query the datasource. However, when I run the project, I get the following error: "Object reference not set to an instance of an object"
>>
>>Here is what my C# code looks like: (Pseudo Code)
>>
>>///////////////////////////////////////////////////////////
>>public class class1
>>///////////////////////////////////////////////////////////
>>//Fields:
>> public string prop_strAccessConn;
>> public string prop_strAccessSelect;
>> public DataSet prop_myDataSet;
>> public string prop_ctable;
>> public string prop_myAccessConn;
>> public string prop_myAccessCommand;
>> public string prop_myDataAdapter;
>>public class1() //Default constructor:
>> prop_strAccessConn =
>> "Provider=VFPOLEDB.1;Data Source=C:\\APPS\\MYDBC.DBC"
>> prop_strAccessSelect = "SELECT * FROM mytable";
>>
>> OleDbConnection prop_myAccessConn = new OleDbConnection
>> (prop_strAccessConn);
>> OleDbCommand prop_myAccessCommand = new OleDbCommand
>> (prop_strAccessSelect,prop_myAccessConn);
>> OleDbDataAdapter prop_myDataAdapter = new OleDbDataAdapter
>> (prop_myAccessCommand);
>>
>>public static void Main ()
>>
>>///Call class2 for processing.
>>class2.processit();
>>
>>
>>///////////////////////////////////////////////////////////
>>public class class2
>>///////////////////////////////////////////////////////////
>>public static void processit ()
>>
>>Console.WriteLine("Write output to the console.");
>>class1 oclass1 = new class1(); //Create object reference.
>>oclass1.prop_myDataSet.Tables.Add("mytable"); //I get error here.
>>
>>
>>I can't get the above example to work. However the following example does work but I would like to separate and make the OleDb vars accessible to other classes without redefining the vars.
>>
>>///Working example. Pseudo code.
>>//////////////////////////////
>>public class class1
>>//////////////////////////////
>>public static void Main ()
>>string strAccessConn = "Provider=VFPOLEDB.1;Data Source=C:\\APPS\\CTRAK6\\CTTRAK.DBC"
>>
>>string strAccessSelect = "SELECT * FROM mytable";
>>
>>// Create the dataset and add the ctghead table to it:
>>DataSet myDataSet = new DataSet();
>>myDataSet.Tables.Add("mytable");
>>
>>// Create Access objects:
>>OleDbConnection myAccessConn = new OleDbConnection(strAccessConn);
>>OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,myAccessConn);
>>OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
>>
>>myAccessConn.Open();
>>
>>etc... everything works!
>>
>>
>>What am I doing wrong with regards to defining OleDb information in class1 and accessing those objects in another class to query a datasource?
>>
>>Thanks,
>>
>>Jerryt
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only