1

「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが表示されます。

 // Define the ADO.NET objects.
        SqlConnection con = new SqlConnection(connectionString);
        string selectSQL = "SELECT * FROM tbl_lecturer_project";
        SqlCommand cmd = new SqlCommand(selectSQL, con);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataSet dsPubs = new DataSet();

        // Try to open database and read information.
        try
        {
            con.Open();
            adapter.Fill(dsPubs, "tbl_lecturer_project");

            // This command is still linked to the data adapter.
            cmd.CommandText = "SELECT * FROM tbl_student_project_choice";
            adapter.Fill(dsPubs, "tbl_student_project_choice");

            cmd.CommandText = "SELECT * FROM tbl_team";
            adapter.Fill(dsPubs, "tbl_team");

            DataRelation SCoiceLec = new DataRelation("SCoiceLec",  dsPubs.Tables["tbl_lecturer_project"].Columns["lecturerProjectId"], dsPubs.Tables["student_project_choice"].Columns["choiceProjectId"]);
            DataRelation SChoiceNTeam = new DataRelation("SChoiceNTeam",dsPubs.Tables["student_project_choice"].Columns["choiceGroupId"], dsPubs.Tables["tbl_team"].Columns["teamId"]);

助けてください。3 つのテーブルすべてからデータを取得したい。

4

1 に答える 1

3

コードには多くの問題があります。これが1つです:

adapter.Fill(dsPubs, "tbl_lecturer_project");

する必要があります

adapter.Fill(dsPubs);

私はあなたが欲しいものはこれだと思います:

string selectSQL = @"SELECT * FROM tbl_lecturer_project;
                     SELECT * FROM tbl_student_project_choice;
                     SELECT * FROM tbl_team";

using(SqlConnection con = new SqlConnection(connectionString))
{
   con.Open();
   using(SqlCommand cmd = new SqlCommand(selectSQL, con))
   {
      using(SqlDataAdapter adapter = new SqlDataAdapter(cmd))
      {
         DataSet dsPubs = new DataSet();

         adapter.Fill(dsPubs);

         // use dataset.
      }
   }
}

3つのテーブルには、、、およびの名前が付けTableられTable1ますTable2

于 2013-03-10T14:45:14.200 に答える