概述
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 }
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的详细用法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复