zoukankan      html  css  js  c++  java
  • 关于ADO.NET@SQL Server&SqlDataReader

    先说基础的,说基础的明白了再深的也是一样的。SQL是关系型数据库,所以就决定了对其操作的时候ADO的一些类要相互联系,Connection 类Command对象(ExecuteReader()方法、ExecuteScalar()方法和ExecuteNonQuery()方法;插入数据可用ExecuteNonQuery()方法来执行插入命令)DataReader类,DataSet对象,DataAdapter类等等,记住我们需要抓住的是主要的也就是中间的类或者对象,就是Command对象,抓住主要的得了,次要的都要和他发生关系(有点猥琐,嘿嘿),记住你要顶住他,观察其他的类的动作,上例子:

    SqlConnection Conn = new SqlConnection(ConfigurationSettings.AppSettings[0].ToString());

    string str;

     str = "select CarNo,CarCla  from CarIn ";
                Conn.Open();
                SqlCommand datacommand = new SqlCommand(str, Conn);
                SqlDataReader reader = datacommand.ExecuteReader();
                int i = 0;
                while (reader.Read())

    {  
          Console.WriteLine(String.Format("{0}, {1}",  
              reader[0], reader[1]));  

      } 

    看红色部分,都是围绕SqlCommand展开的;

    顺便说下SqlDataReader他是读取是一行,如果你想让他把数据都读取的话要用到循环,但是这个不是他的强项。我认为他的强项是读取一行的数据,读取速度快,切记他读取的数据和你str = "select CarNo from CarIn ";这句话有很大的关系,再重复一遍,他是读取一行的数据,另起一行的话,他要重新从[0]开始,所以这个不适合保存或者操作数据(比如你要对读取的一列数据经行操作的话是不可行的,像上面显示还是可以的)而这个数组取决于你选择的相str = "select CarNo,PortNam  from CarIn ";这个读取的话就是 read[0]和read[1]。所以这样的话你要对整个数据经行操作的话,很显然这个类不合适了,切记,他只是读取一行,我太啰嗦了。。。。

    当然如果你确实想操作这些数据,我们可以以数组的形式读取出来,前提是你必须知道你这个表中有多少行,因为你要设置数组的个数

     public string[] getCarNo()
            {
    
                int arrayno = getDataNum("CarIn");//获取行数
    string[] Carray = new string[arrayno]; str = "select CarNo from CarIn "; Conn.Open(); SqlCommand datacommand = new SqlCommand(str, Conn); SqlDataReader reader = datacommand.ExecuteReader(); int i = 0; while (reader.Read()) { Carray[i] = reader[0].ToString(); i++; } Conn.Close(); return Carray; }
  • 相关阅读:
    免费音频录制及处理软件 Audacity
    centos7设置程序开机启动方案
    tomcat开启前或者关闭前执行清理任务 servlet基础知识解决
    BigDecimal比较大小及判0处理
    File文件夹操作创建层级文件夹
    centos7设置activemq开机启动
    tomcat关闭时无法清理资源解决方案
    java数据类型和C++的对应关系 SDK开发
    centos7查询开机启动项及设置服务为开机自启动
    Entity Framework 教程
  • 原文地址:https://www.cnblogs.com/mamiyiya777/p/5856090.html
Copyright © 2011-2022 走看看