我是靠谱客的博主 淡然心情,这篇文章主要介绍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 } 

转载于:https://www.cnblogs.com/ilovexiao/archive/2007/11/05/950255.html

最后

以上就是淡然心情最近收集整理的关于DataReader的详细用法的全部内容,更多相关DataReader内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(276)

评论列表共有 0 条评论

立即
投稿
返回
顶部