我是靠谱客的博主 淡然心情,最近开发中收集的这篇文章主要介绍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的详细用法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部