A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



//            using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=
//C:\Users\lhl\documents\visual studio 2010\projects\1111\1\Database1.mdf;Integrated Security=True;User Instance=True"))
//            {
//                conn.Open();
//                using (SqlCommand cmd = conn.CreateCommand())
//                {
//                    cmd.CommandText = "select * from T_Users";//c从表中读取数据、、、、
//                    using (SqlDataReader reader = cmd.ExecuteReader())
//                    {
//                        while (reader.Read())
//                        {
//                            string username = reader.GetString(reader.GetOrdinal("username"));
//                            int id = reader.GetInt32(reader.GetOrdinal("id"));
//                            string password = reader.GetString(reader.GetOrdinal("password"));
//                            Console.WriteLine("ID={0},名字={1},密码={2}",id,username,password);
                          
//                        }
//                    }
//                    cmd.ExecuteNonQuery();
//                    Console.WriteLine("插入成功");
//                }

//            }

reader.GetOrdinal 怎么理解

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

4 个回复

倒序浏览
reader.getordinal或者指定列的序号。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
在给定列名称的情况下获取列序号。返回结果:从零开始的列序号。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
OdbcDataReaderGetOrdinal 方法:在给定列名称的情况下获取列序号。
GetOrdinal 首先执行区分大小写的查找。 如果失败,则进行另一次不区分大小写的搜索。 如果找不到从零开始的列序号,该方法将引发 IndexOutOfRange 异常。
GetOrdinal 不区分假名宽度。
由于基于序号的查找比命名查找更为有效,因此在循环中调用 GetOrdinal 的效率较低。 相反,调用一次 GetOrdinal,然后将结果分配给整数变量以便在循环中使用。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 李过 于 2012-7-26 12:20 编辑

// using--Open()--- CreateCommand()---CommandText怎么理解?
对于比较占资源的实现了IDisposable接口的类,声明并初始化其对象的时候用using()包起来,using()后面的{}中的代码执行完了,就会自动释放该对象所占用的资源,如果没有close(),  也会帮你先close()掉。
conn.Open()是将创建好的SQL连接对象打开,然后就可以对所连接的数据库进行操作了,conn.CreateCommand(),是创建一个基于该SQL连接的SQL命令对象,该SQL命令对象只能作用于conn所连接的数据库,cmd.CommandText就是SQL命令字符串,""中的内容为SQL语句。

// reader.GetOrdinal 怎么理解
reader.GetOrdinal(string fieldName), 其中reader为一个SqlDataReader对象,是由CommandText为查询语句的cmd的ExecuteReader()方法返回的;从第一行开始,调用一次reader.Read()就读一条记录,如果读到了就返回true,没读到就返回false。reader.GetOrdinal(string fieldName)返回fielName字段从0开始的序号, 主要用于获取当前行中该字段的值,因为reader.Get[ValueType](int ordinal)中的参数要求是字段的序号。

点评

是我想要的 谢谢  发表于 2012-7-27 14:28

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马