DataTable转换为List<T>或者DataRow转换为T

这段时间开发ASP.NETMVC应用程序,从数据库获取数据之后,需要把记录转换为数据集在视图中显示。我们需要把DataTable转换为List<T>或者DataRow转换为T。

本篇中可以学习到相关的知识,数据库方面,创建表,添加数据,存储过程等。MVC方面,创建model,创建Entity,Utility写在一个目录中,控制器创建视图操作,以及行为操作。

先从数据库:

SQL代码:

CREATE TABLE [dbo].[Cookbook]
(
    [ID] INT IDENTITY(1,1) PRIMARY KEY NOT NULL,
    [Name] NVARCHAR(30) NULL,
    [Author] NVARCHAR(30) NULL,
    [CreateDate] DATETIME NULL,
    [ImagePath] NVARCHAR(100) NULL
)
GO

INSERT INTO [dbo].[Cookbook] VALUES
(N‘糯香土豆‘,‘Leo Yang‘,‘2015-07-12‘,‘Content/Image/Cookbook/0.jpg‘),
(N‘紫菜蛋花汤‘,‘Leo Yang‘,‘2015-07-12‘,‘Content/Image/Cookbook/1.jpg‘),
(N‘橄榄菜炒通心菜‘,‘Leo Yang‘,‘2015-07-12‘,‘Content/Image/Cookbook/2.jpg‘),
(N‘蒜瓣炒番薯叶‘,‘Leo Yang‘,‘2015-07-12‘,‘Content/Image/Cookbook/3.jpg‘),
(N‘肉片炒豆角‘,‘Leo Yang‘,‘2015-07-12‘,‘Content/Image/Cookbook/4.jpg‘),
(N‘香葱炒土豆‘,‘Leo Yang‘,‘2015-07-12‘,‘Content/Image/Cookbook/5.jpg‘)
GO

CREATE PROCEDURE [dbo].[usp_Cookbook_GetAll]
AS
SELECT [ID],[Name],[Author],[CreateDate],[ImagePath] FROM [dbo].[Cookbook]
GO

CREATE PROCEDURE [dbo].[usp_Cookbook_GetByPk]
(
    @ID INT
)
AS
SELECT [ID],[Name],[Author],[CreateDate],[ImagePath] FROM [dbo].[Cookbook] WHERE [ID] = @ID
GO

创建model:

下面是本篇重点部分,是将DataTable转换为List<T>或者DataRow转换为T

创建Entity:

创建控制的操作:

下面创建2个视图:

另一个视图:

演示,演示中所选择图片来源于Insus.NET的微博(新浪,腾讯)和QQ空间:
http://weibo.com/104325017
http://t.qq.com/leo_insus
http://user.qzone.qq.com/104325017/main

转态  :http://www.cnblogs.com/insus/archive/2015/07/13/4643152.html

时间: 2024-10-10 21:47:00

DataTable转换为List<T>或者DataRow转换为T的相关文章

将DataTable转换为List,将List转换为DataTable的实现类

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; namespace Xmh.DBUnit { /// <summary> /// 将DataTable转换为List,将

c#常用的Datable转换为json,以及json转换为DataTable操作方法

#region  DataTable 转换为Json字符串实例方法/// <summary>/// GetClassTypeJosn 的摘要说明/// </summary>public class GetClassTypeJosn : IHttpHandler{    /// <summary>    /// 文件名:DataTable 和Json 字符串互转    /// 版权所有:Copyright (C) Create Family Wealth liangjw 

android 将图片通过base64转换为String 将图片String转换为Bitmap

1.Bitmap转换为图片字符串 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); //该方法用来压缩图片,第一个参数为图片格式,第二个参数为截取图片的保留率,如当前为90,则保留之前图片90%的区域 bitmap.compress(Bitmap

DataSource绑定DataTable.Select()显示system.data.DataRow问题解决的方法

有时候我们须要在控件中绑定DataTable中设定条件过滤后的数据,此时,在winForm环境中,一些控件不能正确绑定并显示数据内容.这是由于DataTable.Select()返回的是DataRow[]类型的行数组.没有行列相关架构值.而控件如ListBox.comboBox等不能识别行数组中的列.读不到行列架构值,所以无法正常显示. 解决的方法是用DataView进行转换,即在DataView中对DataTable过滤数据. DataView构造函数例如以下: DataView ( Data

DataSource绑定DataTable.Select()显示system.data.DataRow问题解决办法

有时候我们需要在控件中绑定DataTable中设定条件过滤后的数据,此时,在winForm环境中,一些控件不能正确绑定并显示数据内容,这是因为DataTable.Select()返回的是DataRow[]类型的行数组,没有行列相关架构值.而控件如ListBox.comboBox等不能识别行数组中的列,读不到行列架构值,所以无法正常显示. 解决办法是用DataView进行转换,即在DataView中对DataTable过滤数据.DataView构造函数如下: DataView ( DataTabl

Java 毫秒转换为日期类型、日期转换为毫秒

//毫秒转换为日期 public static void main(String[] args) {DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); long now = System.currentTimeMillis(); Calendar calendar = Calendar.getInstance();calendar.setTimeInMillis(now); System.out.pri

Activity转换为View和把图片转换为View

package com.example.viewpager01; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.app.LocalActivityManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; import

DataTable筛选符合条件的DataRow

得到筛选后的新的DataRow; DataRow[] rows=dt.Select("1=1 and flag <> 1") 清空原DataTable并赋值给新建表 DataTable dtNew=dt.Clone(); 把筛选后的结果添加到新建表中 for(int i=0;i<rows.Length;i++){dtNew.ImportRow(rows[i]);}

编程将二叉树(子女右兄弟链)转换为树然后将树转换为二叉树(直接修改) 非递归实现

将子女右兄弟链修改为普通树然后将普通树修改为子女右兄弟链,注意是在原树上直接进行修改,不是根据原树创建转换后的新树,为了操作方便,树指针域用vector表示 C++代码: 子女右兄弟链存在共享子树情形: 1 #include "stdafx.h" 2 #include <iostream> 3 #include <stack> 4 #include <vector> 5 #include <string> 6 #include <m