连接数据库,多表查询

来源:互联网 发布:垃圾短信识别算法 编辑:程序博客网 时间:2024/04/26 00:53
 
        1、连接数据库,查表读取数据

        学生借书记录表:
        
        
       图书表:
       
      
       学生表:
       
        public ArrayList selectStudentAndBook()
        {
            ArrayList list = new ArrayList();
            SqlConnection con = Connect.connect();
            con.Open();
            string sql = "select book.id,  book.name,  studentBook.number,  student.name from  studentBook "+
            "inner join student on  (student.id=stu_id) "+
            "inner join book on(book.id=book_id)";  
            SqlCommand com = new SqlCommand(sql, con);
            SqlDataReader reader = com.ExecuteReader();
            while (reader.Read())
            {
                Admins A = new Admins();
                A.BookId = (int)reader.GetValue(0);
                A.Bookname=(string)reader.GetValue(1);
                Student S = new Student();
                S.BookNumber = (int)reader.GetValue(2);
                Student S1 = new Student();
                S1.Name = (string)reader.GetValue(3);
                list.Add(A);
                list.Add(S);
                list.Add(S1);
            }
            Connect.close(reader, con);
            return list;
        }    
       
       2、控制台交互,打印学生能够借书信息
        public void selectStudentBorrowBooks() 
        {
           ArrayList list= S.selectStudentAndBook();
           IEnumerator it = list.GetEnumerator();
            while(it.MoveNext())
            {
                 
                 A = (Admins)it.Current;
                 it.MoveNext();
                 S = (Student)it.Current;
                 it.MoveNext();
                 Student S1 = (Student)it.Current;
                 Console.WriteLine("学生借书信息记录:\n 图书ID:{0}   图书名字:{1}   图书数量:{2}   学生姓名:{3}",A.BookId,A.Bookname,S.BookNumber,S1.Name);
            }
        }
       
  
0 0
原创粉丝点击