第7章 https://www.doczj.com/doc/3e14300379.html,数据访问技术
一、选择题
1.在https://www.doczj.com/doc/3e14300379.html,中,用来与数据源建立连接的对象是()。
A.Connection对象B.Command对象C.DataAdapter对象D.DataSet对象
2.如果想使用SqlCommand对象对SQL Server数据库进行操作,应该引入()命名空间。
A.System.Data.OldeDb B.System.Data.SqlClient
C.System.Data.Odbc D.System.Data.OracleClient
3.数据库连接字符串“Server=(local);Database=db_LibraryMS;Uid=sa;Pwd=”中,Server指的是()。
A.数据库名B.数据库服务器名C.数据表名D.用户计算机名
4.使用Command对象的()方法可以创建一个DataReader对象。
A.ExecuteReader B.ExecuteScalar C.ExecuteNonQuery D.ExecuteXmlReader
5.“DataRelation relation=new DataRelation(r1,r2,r3);”这条语句中的r1、r2和r3分别表示()。
A.父列、子列、关系名B.关系名、子列、父列
C.子列、父列、关系名D.关系名、父列、子列
6.以下说法不正确的是()。
A.SQL Server的SQL语句如果带参数,参数名必须以“@”为前缀
B.连接字符串的各关键字不区分大小写
C.ExecuteReader方法用于执行指定的SQL语句,最终返回操作影响的行数
D.DataAdapter对象通过Fill方法将数据库数据填充到本机内存的DataSet或DataTable中
7.下列关于DataReader错误的一项是()。
A.在System.Data.SqlClient命名空间下时,可以调用SqlDataReader类
B.可以通过SqlDataReader对象的HasRows属性,获取一个值,判断查询结果中是否有值
C.如果要读取数据表中的数据,可以使用SqlCommand对象的ExecuteReader方法创建一个SqlDataReader对象,再调用SqlDataReader对象的Read方法读取数据
D.对于每个关联的SqlConnection,一次可以打开多个SqlDataReader
8.关于下面代码,说法错误的一项是()。
接
字
符
串
连
数
//定
库
义
据
string strCon = "Server=(local);User Id=sa;Pwd=;DataBase=db_LibraryMS";
1
2
SqlConnection sqlcon = new SqlConnection(strCon); //创
建
数
据
库
连
接
对
象
//创
建
数
据
库
桥
接
器
对
象
SqlDataAdapter sqlda = new SqlDataAdapter("select * from tb_admin",sqlcon);
DataSet myds = new DataSet(); //创
建
数
据
集
对
象
sqlda.Fill(myds,"tabName"); //填
充
数
据
集
中
的
指
定
表
GridView1.DataSource = myds.Tables["tabName"]; //为dataGridView1指
定
数
据
源GridView1.DataBind();
A.获取db_ LibraryMS数据库中的tb_admin数据表数据B.使用DataSet存储数据
C.代码中使用了临时表tabName D.这段代码有错误
9.DataAdapter对象的()属性用于向数据库发送插入SQL语句。
A.SelectCommand B.DeleteCommand C.InsertCommand D.UpdateCommand 10.下列说法不正确的是()。
A.通过DataAdapter对象的Fill方法填充DataSet数据集时,与Select命令关联的Connection对象必须
打开
B.DataSet对象就像存放于内存中的一个小型数据库
C.使用DataSet的Merge方法可以将DataSet、DataTable或DataRow中的内容并入现有DataSet
D.使用DataSet对象的Copy方法可以创建包含其架构和数据的DataSet的原样副本
二、填空题
1.如果需要在程序中调用存储过程,则需要指定Command对象的CommandType属性为___________。
2.如果要把数据集中的数据更新回数据源,应该使用___________对象的Update方法。
3.判断当前数据库连接是否关闭的语句是____________________________________________。
4.通常情况下,DataReader对象在内存中保留___________行数据。
5.DleDbDataAdapter对象通过___________对象在数据库中执行SQL语句。
6.https://www.doczj.com/doc/3e14300379.html,支持两种访问数据的模型,分别是___________和___________。
7.下面一段代码用来调用存储过程向数据表中添加数据,请将代码补充完整。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection sqlcon = new SqlConnection("Server=(local);User
3
Id=sa;Pwd=;DataBase=db_LibraryMS ");
SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Connection = sqlcon;
____________________________________________ https://www.doczj.com/doc/3e14300379.html,mandText = "proc_AddData";
sqlcmd.Parameters.Add("@name", SqlDbType.VarChar, 20).Value = textBox1.Text; sqlcmd.Parameters.Add("@money", SqlDbType.Decimal).Value = Convert.ToDecimal(textBox2.Text);
sqlcon.Open();
if (Convert.ToInt32(sqlcmd.ExecuteNonQuery()) > 0) {
label3.Text = "添加成功!"; } else {
label3.Text = "添加失败!"; }
sqlcon.Close();
}
8.利用Command 对象的___________属性提供的功能,可以传递执行SQL 语句所使用的参数。
9.有一个Sql DataAdapter 对象sqlda 和一个DataSet 对象myds ,那么,填充DataSet 数据集的语句应该是_______________________________。
10.请将下面代码补充完整,以便在GridView1控件中显示查询到的数据。
string strCon = "Server=(local);User Id=sa;Pwd=;DataBase=db_LibraryMS"; SqlConnection sqlcon = new SqlConnection(strCon);
SqlDataAdapter sqlda = new SqlDataAdapter("select * from tb_admin",sqlcon); DataSet myds = new DataSet(); sqlda.Fill(myds,"tabName");
_______________________________