zoukankan      html  css  js  c++  java
  • DataReader的详细用法

      1//DataReader的详细用法  
      2   cmd.CommandText = "GetInfo"
      3  cmd.CommandType = CommandType.StoredProcedure; 
      4  SqlParameter param = cmd.Parameters.Add("@Fid",16); 
      5  param = cmd.Parameters.Add("@Fname",SqlDbType.VarChar,8); 
      6  param.Direction = ParameterDirection.Output; 
      7  param = cmd.Parameters.Add("@Fphone",SqlDbType.VarChar,8); 
      8  param.Direction = ParameterDirection.Output; 
      9  conn.Open(); 
     10  cmd.ExecuteNonQuery(); 
     11  string Fname = cmd.Parameters["@Fname"].Value.ToString(); 
     12  string Fphone = cmd.Parameters["@Fphone"].Value.ToString(); 
     13  Console.WriteLine(Fname + "  " + Fphone); 
     14  conn.Close(); 
     15  showSplit(); 
     16 } 
     17  
     18 //************************************** 
     19 //*演示读取多个无关记录集 
     20 //**************************************  
     21 public void multiResult() 
     22 
     23  SqlCommand cmd;  
     24  cmd = conn.CreateCommand(); 
     25  string sqla = "select Fname from friend"
     26  string sqlb = "select Fphone from friend"
     27  cmd.CommandText = sqla + ";" + sqlb; 
     28  conn.Open(); 
     29  SqlDataReader reader= cmd.ExecuteReader(); 
     30  int i = 1
     31  do 
     32  
     33   Console.WriteLine("" + i.ToString() + "个记录集内容如下:\n"); 
     34   while(reader.Read()) 
     35   
     36    Console.WriteLine(reader[0].ToString() + "\t"); 
     37   }
     
     38   i++
     39  }
    while(reader.NextResult()); //NextResult()移动到下一个记录集 
     40  reader.Close(); 
     41  conn.Close(); 
     42  showSplit(); 
     43 }
     
     44  
     45 //************************************** 
     46 //*使用DataReader获得数据库模式信息 
     47 //**************************************  
     48 public void getSchema() 
     49 
     50  SqlCommand cmd;  
     51  cmd = conn.CreateCommand(); 
     52  string sql = "select Fid,Fname,Fphone from friend"
     53     cmd.CommandText = sql; 
     54     conn.Open(); 
     55     SqlDataReader reader = cmd.ExecuteReader(); 
     56     DataTable SchemaTable = reader.GetSchemaTable(); 
     57      
     58     DataRowCollection SchemaColumns = SchemaTable.Rows; 
     59     DataColumnCollection SchemaProps = SchemaTable.Columns;    
     60     foreach(DataRow SchemaColumn in SchemaColumns) 
     61     
     62      foreach(DataColumn SchemaColumnProp in SchemaProps) 
     63      
     64       Console.WriteLine(SchemaColumnProp.ColumnName + "=" + SchemaColumn[SchemaColumnProp.ColumnName].ToString()); 
     65      }
     
     66     }
     
     67     reader.Close(); 
     68     conn.Close(); 
     69     showSplit(); 
     70 }
     
     71  
     72 //************************************** 
     73 //*从数据库读取二进制数据的代码段 
     74 //*该代码段只是读取二进制的片断,不是 
     75 //*整个程序,所以不能执行,你可以把它 
     76 //*集成到你的WinForm项目里面。 
     77 //**************************************  
     78 public void getBinary() 
     79 
     80  /* 
     81  System.IO.MemoryStream stream = new System.IO.MemoryStream(); 
     82  System.IO.BinaryWriter writer = new System.IO.BinaryWriter(stream);    
     83  int BufferSize = 1024; 
     84  byte[] Buffer = new Byte[BufferSize]; 
     85  long Offset = 0; 
     86  long BytesRead = 0; 
     87  do 
     88  { 
     89   BytesRead = reader.GetBytes(2,Offset,Buffer,0,BufferSize); 
     90   writer.Writer(Buffer,0,(int)BytesRead); 
     91   writer.Flush(); 
     92   Offset += BytesRead; 
     93  } 
     94  while(BytesRead == BufferSize); 
     95  */
     
     96 }
     
     97  
     98 //添加输出分隔 
     99 private void showSplit() 
    100 
    101  Console.WriteLine("\n********************************************************************\n"); 
    102 }
     
    103  
    104 public static void Main(string [] args) 
    105 
    106  SqlReader sqlreader = new SqlReader(); 
    107   
    108  sqlreader.basicReader(); 
    109   
    110  sqlreader.hasParamReader(); 
    111   
    112  sqlreader.hasOledbParamReader(); 
    113   
    114  sqlreader.outParamShow(); 
    115   
    116  sqlreader.multiResult(); 
    117   
    118  sqlreader.getSchema(); 
    119 }
      
    120
  • 相关阅读:
    【数学】三分法
    【数学】【背包】【NOIP2018】P5020 货币系统
    【数学】【CF27E】 Number With The Given Amount Of Divisors
    【单调队列】【P3957】 跳房子
    【极值问题】【CF33C】 Wonderful Randomized Sum
    【DP】【CF31E】 TV Game
    【神仙题】【CF28D】 Don't fear, DravDe is kind
    【线段树】【CF19D】 Points
    【字符串】KMP字符串匹配
    【二维树状数组】【CF10D】 LCIS
  • 原文地址:https://www.cnblogs.com/ilovexiao/p/950255.html
Copyright © 2011-2022 走看看