黑马程序员技术交流社区

标题: ado.net 中程序的疑问 [打印本页]

作者: 杨伟芬    时间: 2012-4-13 20:30
标题: ado.net 中程序的疑问
sqlcommand cmd=conn.createcommand()

sqldatareader reader=cmd.executereader()

string dbpassword =reader.getstring(reader.getordinal("password"));

这三句话都是什么意思,在程序中好像还调用了 reader.Read() 函数,这又是怎么来的,
对于网上的官方解释太深奥了,恳请简洁明了的解答,谢谢!

作者: 杨礼文    时间: 2012-4-14 08:16
SqlConnection 是用来连接数据库的  SqlCommand是用来执行指令的  SqlDataReader是读取数据库了的数据的


cnd.ExecuteNonQuery(); //非查询,对添加,修改,删除作用 返回受影响的行数
cnd.ExecuteScalar();//执行查询,并返回查询所返回的结果集中第一行第一列,其他的忽略 返回值的类型是Object     (int i = Convert.ToInt32(cnd.ExecuteScalar()); //想要什么类型 就定义什么类型来接收. 无法将隐形Object转换成int  因此需要强制转换)
SqlDataReader reader = cnd.ExecuteReader()  读取数据库的数据
reader.Read() 是bool类型 一般与if()while()一起使用   意思前进到下一条记录 只要下面还有数据 就返回true  否则false

作者: 杨礼文    时间: 2012-4-14 08:16
reader.GetString(1)  获取指定列(1)的字符串的值
reader.GetOrdinal("UserName"); 在给定名称(UserName)的情况下获取序列号
reader.GetString(reader.GetOrdinal("UserName"));上面的综合





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2