zoukankan      html  css  js  c++  java
  • C# 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}
  • 相关阅读:
    Linux下安装配置SVN服务器,windows访问
    Zookeeper集群版搭建
    Zookeeper单机版启动
    Nginx-Session缓存一致性-memcached
    Nginx-配置多台Tomcat-反向代理
    Linux-tomcat-安装启动
    Linux-JDK-环境搭建安装
    Nginx-安装-运行访问页面
    Linux-虚拟机-克隆-学习
    解决CocosCreator 在微信小游戏中使用Socket.io 报错的问题
  • 原文地址:https://www.cnblogs.com/beeone/p/1998270.html
Copyright © 2011-2022 走看看