博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET-创建虚拟表,将 SQL 表中的数据导入虚拟表
阅读量:5260 次
发布时间:2019-06-14

本文共 4689 字,大约阅读时间需要 15 分钟。

ylbtech-.NetFramework:.NET-创建虚拟表,将 SQL 表中的数据导入虚拟表
技术与环境
操作系统: windows 语言类别: C#
thankyou: sunshine, 谢谢你的默默付出 课题: 虚拟表
学习软件: Microsoft Visaul Studio 2010
1.A,Console-创建虚拟表
View Code
using System;using System.Collections.Generic;using System.Text;using System.Data;//编号    姓名    性别     年龄     成绩 //1001    mike     男       21      98.5//1002    张三     男       33      68.5namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            //步骤:            //1,创建虚拟表            System.Data.DataTable dt = new DataTable("student");            //2,创建列,5列            System.Data.DataColumn dc1 = new DataColumn("编号", typeof(int));            System.Data.DataColumn dc2 = new DataColumn("姓名", typeof(string));            System.Data.DataColumn dc3 = new DataColumn("性别", typeof(string));            System.Data.DataColumn dc4 = new DataColumn("年龄", typeof(int));            System.Data.DataColumn dc5 = new DataColumn("成绩", typeof(double));            //3,将列并入表,实现其组织结构            dt.Columns.Add(dc1);            dt.Columns.Add(dc2);            dt.Columns.Add(dc3);            dt.Columns.Add(dc4);            dt.Columns.Add(dc5);            //4,创建行//1001    mike     男       21      98.5            System.Data.DataRow dr1 = dt.NewRow();            //5,给行中的单元格赋值            dr1[0] = 1001;            //dr1["编号"] = 1001;            dr1[1] = "mike";            //dr1["姓名"] = "mike";            dr1[2] = "男";            dr1[3] = 21;            dr1[4] = 98.5;            //6,将行加入表格            dt.Rows.Add(dr1);            //添加第二行 //1002    张三     男       33      68.5            System.Data.DataRow dr2 = dt.NewRow();            dr2[0] = 1002;            dr2[1] = "张三";            dr2[2] = "男";            dr2[3] = 33;            dr2[4] = 68.5;            dt.Rows.Add(dr2);            //表格实现。            //7,遍历表格            //用户只有dt            //输出表头            for (int i = 0; i < dt.Columns.Count; i++)            {                Console.Write(dt.Columns[i].ColumnName + "\t");            }            Console.WriteLine();            //输出表体            for (int i = 0; i < dt.Rows.Count; i++)//循环行            {                for (int j = 0; j < dt.Columns.Count; j++)//循环列                {                    Console.Write(dt.Rows[i][j] + "\t");                }                Console.WriteLine();//一行一个回车            }            //8,补充,DataSet--虚拟库,可以包含多个表            DataSet ds = new DataSet("学校数据库");            //将表加入库            ds.Tables.Add(dt);            //将表从库中提取            System.Data.DataTable dt2 = ds.Tables[0];            Console.Read();                    }    }}
1.B,Console-将 SQL 表中的数据导入虚拟表 

1.B.1,XX/DBConnection.cs

View Code
using System;using System.Collections.Generic;using System.Text;using System.Data.SqlClient;namespace Com.Myt.DB{    public class DBConnection    {        SqlConnection con = null;        public SqlConnection Con        {            get { return con; }            set { con = value; }        }        public DBConnection()        {            con = new SqlConnection();            con.ConnectionString = "server=.;database=northwind;integrated security=sspi";        }    }}

1.B.2,XX/Program.cs

View Code
using System;using System.Collections.Generic;using System.Text;using System.Data.SqlClient;namespace Com.Myt.Test{    class Program    {        static void Main(string[] args)        {            //将 select productid,productname,categoryid,unitprice from products 运行结果导入虚拟表            string sql="select productid,productname,categoryid,unitprice from products";            System.Data.DataTable dt = new System.Data.DataTable();            SqlConnection con = new Com.Myt.DB.DBConnection().Con;            SqlCommand com = new SqlCommand();            com.Connection = con;            com.CommandText = sql;            con.Open();            SqlDataReader sdr = com.ExecuteReader();            //重要            dt.Load(sdr);//将sdr中的数据以数据库表的原始架构导入到dt中去            con.Close();//此处con连接关闭,则sdr不能再使用。但是dt中的数据依然存在,可以继续使用,称之为脱机记录集             //遍历虚拟表            //输出表头            for (int i = 0; i < dt.Columns.Count; i++)            {                Console.Write(dt.Columns[i].ColumnName + "\t");            }            Console.WriteLine();            //输出表体            for (int i = 0; i < dt.Rows.Count; i++)            {                for (int j = 0; j < dt.Columns.Count; j++)                {                    Console.Write(dt.Rows[i][j] + "\t");                }                Console.WriteLine();            }            Console.Read();        }    }}
warn 作者:
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/ylbtech/archive/2013/02/26/2933077.html

你可能感兴趣的文章
圆边图片无限旋转
查看>>
算法第5章作业
查看>>
Oracle 创建表空间的时候显示 数据库未连接
查看>>
java中的运算符
查看>>
Windows 常用消息及含义
查看>>
环境部署
查看>>
English trip -- VC(情景课)5 C It's on Main Street 在主街上
查看>>
[剑指Offer] 20.包含min函数的栈
查看>>
Ant -----ant标签和自定义任务
查看>>
Docker: repository, image, container
查看>>
Dijkstra算法
查看>>
laravel4.2 union联合,join关联分组查询最新记录时,查询条件不对,解决方案
查看>>
架构之数据库分表分库
查看>>
三星 S4 手机误删除相片(相册)后的恢复问题,仅记录处理过程,其它Android手机同样适用...
查看>>
【pattern】设计模式(2) - 模版方法模式
查看>>
SSM商城系统开发笔记-问题01-通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明。...
查看>>
nyoj--84--阶乘的0(数学技巧)
查看>>
Creational --- Singleton
查看>>
JAVA-随机生成四则运算
查看>>
vue 创建监听,和销毁监听(addEventListener, removeEventListener)
查看>>