用DataReader一次讀取多個欄位資料

比對到姓名後,要同時擷取身分證字號、出生日期等等。

把想要擷取的欄位都先select出來,

select [PAT_NAME],[PAT_LDATE] from PATIENT

PAT_NAME放在DataReader 0的位置,
PAT_LDATE放在DataReader 1的位置

PAT_NAME = dataReader.GetString(0);
PAT_LDATE= dataReader.GetString(1);

範例程式

static void HasRows(SqlConnection connection)
{
    using (connection)
    {
        SqlCommand command = new SqlCommand(
          "SELECT CategoryID, CategoryName FROM Categories;",
          connection);
        connection.Open();

        SqlDataReader reader = command.ExecuteReader();

        if (reader.HasRows)
        {
            while (reader.Read())
            {
                Console.WriteLine("{0}\t{1}", reader.GetInt32(0),
                    reader.GetString(1));
            }
        }
        else
        {
            Console.WriteLine("No rows found.");
        }
        reader.Close();
    }
}

No comments yet

發表留言