当前位置: 代码迷 >> VB Dotnet >> //经过输入一个用户的ID查询他的借阅情况(数据集查询)
  详细解决方案

//经过输入一个用户的ID查询他的借阅情况(数据集查询)

热度:203   发布时间:2016-04-25 02:21:10.0
//通过输入一个用户的ID查询他的借阅情况(数据集查询)

 public DataSet GridUB(string stuID) //每层都要用到实体类userInfo 通过实体类连接
        {

            using (SqlConnection conn = new SqlConnection(ConnString))
            {
                SqlCommand cmd = conn.CreateCommand(); //数据库连接命令
                cmd.CommandText = @"select * from 借阅 inner join 学生 on 借阅.学号=学生.学号 where 学生.学号=@stuID ";
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.Add(new SqlParameter("@stuID", stuID));

                conn.Open();
                
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                da.SelectCommand = cmd;
                da.Fill(ds,"jieyue");
                //SqlDataReader reader = cmd.ExecuteReader();  //读取数据
                //BorrowInfo borrow = new BorrowInfo();
                //while (reader.Read())
                //{
                //    borrow.BorrowID = reader.GetString(0);
                //    borrow.StuID = reader.GetString(1);
                //    borrow.BookName = reader.GetString(2);
                //    borrow.BorrowTime = reader.GetString(3);
                //}
                return ds;
            }
        }

我想知道我写的对不对,还有 DataSet返回值应该是什么,另外我这个是三层模式,这个是DAL层 哪BLL层怎么写?UI界面是不是
this.dataGridView1.DataSource = mgr.GridUB(title);这样写就可以了?麻烦大神给看一下 给指导一下!
------解决方案--------------------
看代码应该是对的,你运行后看dataGridView1上没有显示数据就知道了
------解决方案--------------------
 dataGridView1.DataSource =  mgr.GridUB(title).Tables[0].DefaultView;
------解决方案--------------------
建议还是写DAL吧。封装下。这样可以简单的对数据库进行访问。例如,假如有了一个数据库的访问类,叫做MyQuery,那么:
Dim SQLQuery As MyQuery=MyQuery.CreateQuery()+"Select * From Admin Where UserName="+ UserName.AsQueryParam + " AND PassWord=" + PassWord.AsQueryParam
Dim tmpDataTable As DataTable=SQLQuery.FillDataTable()
这样就获取了数据到DataTable中

而数据库的连接、SQL语句的执行都交给数据访问层(DAL)来做了(连接字符串放在程序的config文件中,Connection由类来自己维护。还支持直接使用+来连接实体类型的变量,如上面的示例代码。)
  相关解决方案