1、为DataTable添加列

(1)添加列

DataTable  tbl = ds.Tables.Add("User");

DataColumn col =tbl.Columns.Add("UserID",typeof(int));

col.AllowDBNull = false;

col.MaxLength = 6;

col.Unique = true;

tbl.PrimaryKey = new DataColumn[]{tbl.Columns["UserID"]};

当设置主键时,AllowDBNull自动设置为False;

(2)添加自增列

DataSet ds = new DataSet();

DataTable tbl = ds.Tables.Add("User");

DataColumn col = tbl.Columns.Add("UserID",typeof(int));

col.AutoIncrement = true;

col.AutoIncrementSeed = -1;

col.AutoIncrementStep = -1;

col.ReadOnly = true;

2、修改DataTable中的数据

(1)添加数据行

DataRow row = ds.Tables["User"].NewRow();

row["UserID"] = "123456";

ds.Tables["User"].Rows.Add(row);

object[] aValues ={"123456","张三"}

da.Tables["User"].LoadDataRow(aValues,false);

(2)修改当前行

修改行的内容 Datast并不会自动修改数据库中相应的内容,而是要使用SqlDataAdapter对象的Update方法来提交修改。

//查找UserID为123456的用户,有则修改

DataRow   User;

User = ds.Tables["UserID"].Rows.Find("123456");

if(User == null)

//没有查找客户

else

{

User.BeginEdit();

User["UserName"] ="王五";

User.EndEdit();

}

obejct[]  User ={null,”王五”} ;//null表示不修改该列的数据

DataRow rowUser;

rowUser = ds.Tables["UserID"].Rows.Find("123456");

rowUser.ItemArray = User;

(3)处理行中的空值

A:查看是否为空

DataRow rowUser;

rowUser = ds.Tables["UserID"].Rows.Find("123456");

if(rowUser.IsNull("Address"))

Console.WriteLine("Address is Null");

else

Console.WriteLine("Address is not Null");

B:赋予空值

rowUser["Address"] = DBNull.Value;

(4)删除行

DataRow rowUser;

rowUser = ds.Tables["UserID"].Rows.Find("123456");

rowUser.Delete();

(5)清除DataRow

A:

DataRow rowUser;

rowUser = ds.Tables["UserID"].Rows.Find("123456");

rowUser.ItemArray = aUser;

da.Tables["User"].Remove(rowUser);

B:

ds.Tables["User"].RemoveAt(intIndex);

3、实例

using System;

using System.Collections.Generic;

using System.Text;

using System.Data.SqlClient;

using System.Data;

namespace sqlconnection1

{

class Program

{

private void SQLConnectionF(string source, string select)

{

//创建连接

SqlConnection con = new SqlConnection(source);

SqlDataAdapter adapt = new SqlDataAdapter(select,con);

try

{

con.Open();

Console.WriteLine("connection is successful!");

}

catch (Exception e)

{

Console.WriteLine("connection error is :{0}", e.ToString());

}

SqlCommandBuilder mybuilder = new SqlCommandBuilder(adapt);

//创建DataSet

DataSet ds = new DataSet();

//将数据添加到DataSet中

adapt.Fill(ds,"mytest");

//取出mytest表各列名

Console.WriteLine("{0,-15} {1,-10} {2,-10}",ds.Tables["mytest"].Columns[0],

ds.Tables["mytest"].Columns[1], ds.Tables["mytest"].Columns[2],

ds.Tables["mytest"].Columns[3], ds.Tables["mytest"].Columns[4]);

//输出DataSet中的所有数据

Console.WriteLine("before up data");

foreach (DataRow row in ds.Tables["mytest"].Rows)

{

Console.WriteLine("{0,-35} {1,-10} {2,-10} {3}",row[0] ,

row[1] , row[2] , row[3]);

}

//将第一行的第四列的值修改为123

DataRow rows1 = ds.Tables["mytest"].Rows[0];

rows1[3] = "123";

//删除该行

rows1.Delete();

//插入一行

DataRow newrow = ds.Tables["mytest"].NewRow();

newrow[0] = "mmm";

newrow[1] = 36;

newrow[2] = "aaa";

newrow[3] = 222;

ds.Tables["mytest"].Rows.Add(newrow);

//在DataSet中查找数据

DataColumn[] keys = new DataColumn[2];

keys[0] = ds.Tables["mytest"].Columns["name"];

keys[1] = ds.Tables["mytest"].Columns["number"];

//keys[1] = ds.Tables["mytest"].Columns ["type"];

ds.Tables["mytest"].PrimaryKey = keys;

DataRow findrow = ds.Tables["mytest"].Rows.Find("rrr");

if (findrow != null)

{

Console.WriteLine("{0}is find in tables",findrow);

//delete the row

Console.WriteLine("removing the rows ........");

findrow.Delete();

}

//用DataSet中的数据更新表

adapt.Update(ds,"mytest");

//输出DataSet中的所有数据

Console.WriteLine("after up data");

foreach (DataRow row in ds.Tables["mytest"].Rows)

{

Console.WriteLine("{0,-15} {1,-10} {2,-10} {3}", row[0],

row[1], row[2], row[3]);

}

Console.ReadLine();

con.Close();

}

static void Main(string[] args)

{

string sou = "server=duanyf\\SQLEXPRESS;" + "Initial Catalog=master;" + "UID = sa;" + "Password = dyf123";

string sel = "SELECT name,number,type,low,high From dbo.spt_values WHERE number=36";

Program sqlcon = new Program();

sqlcon.SQLConnectionF(sou, sel);

}

}

}

python dataset用法_dataset 用法(2)相关推荐

  1. DataSet与Iterator用法总结

    参考文章: TensorFlow全新的数据读取方式:Dataset API入门教程 TensorFlow 利用Dataset读取和构建数据 [Tensorflow]Dataset 中的 Iterato ...

  2. 详细记录python的range()函数用法

    详细记录python的range()函数用法 使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的sl ...

  3. python Pool常用函数用法总结

    在本篇内容里小编给大家整理的是一篇关于python Pool常用函数用法总结内容,有需要的朋友们可以学习下. 1.说明 apply_async(func[,args[,kwds]):使用非堵塞调用fu ...

  4. python HDF5 h5py 的用法

    python HDF5 h5py 的用法 核心概念 HDF5文件是包含两种对象的容器:数据集,它们是类似数组的数据集合:组,是类似文件夹的容器,用于存放数据集和其他组.使用h5py时要记住的最基本的事 ...

  5. 五分钟理解yield在python中的简单用法,让你不再迷惑

    很多同学无论是在学习python还是使用python的过程中,都会遇到yield关键字,这个让人头大的问题,今天,就给大家分享一下我自学yield的心路历程 基本概念: (1)在 Python 中,使 ...

  6. python正则表达式re.sub用法

    python正则表达式re.sub用法 https://cloud.tencent.com/developer/article/1382055 python正则表达式re.sub用法 全面的 http ...

  7. Python 异常处理--raise函数用法

    Python 异常处理--raise函数用法 参考文章: (1)Python 异常处理--raise函数用法 (2)https://www.cnblogs.com/darkgui34/p/405074 ...

  8. format函数python的顺序_[转载] Python中format函数用法

    Python中format函数用法 format优点 format是python2.6新增的格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能 ...

  9. python ord()与chr()用法以及区别

    python ord()与chr()用法以及区别 原文:http://blog.csdn.net/yulock/article/details/52904035 ord()函数主要用来返回对应字符的a ...

  10. java和python可以在一个项目中同时使用么-java调用python的几种用法(看这篇就够了)...

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

最新文章

  1. 图灵2010.12书讯
  2. websocket趣说_转
  3. OOA OOD OOP
  4. efcore调用函数_EF Core 3.1 执行sql语句的几种方法
  5. 滴滴拼车更名“青菜拼车” 或将独立运营
  6. 统计输入的字母 c语言,请问这个用c怎么做:输入一串字符,分别统计其中数字和字母的个数...
  7. Python 爬虫6——Scrapy的安装和使用
  8. 遇到win7系统电脑没有声音了怎么解决
  9. java命令行编译命令_Java使用命令行编译运行程序
  10. 可视化神器Scikit-plot实践入门
  11. python修改表格居中_python修改表格居中_CSS样式更改——列表、表格和轮廓
  12. sql2000 挂起 注册表
  13. 【Vmware】打开虚拟机时提示“无法连接虚拟设备,因为主机上没有响应的设备”
  14. 最易理解的C语言教学 第一章
  15. LinkedIn领英帐号搜索浏览被限制的解决方法
  16. mac如何查看IP地址,mac怎么查看IP地址
  17. Maven 自己下载依赖包安装到本地仓库
  18. 今天我抓了个 HTTPS 的包
  19. 数字化时代App们将何去何从?
  20. couchbase的使用(springboot连接couchbase,node.js连接couchbase)

热门文章

  1. 如何设置视频的帧率、分辨率、码率来调节音视频即时通讯的质量
  2. CSDN账号被冻结了怎么办
  3. QQ输入法用户体验评价
  4. visual assist x 2406 和 2435,2443 原版安装下载,只要一分
  5. HTML做一个学校网站(纯html代码)
  6. vs2010中文旗舰版,vs2013,vs2015企业版激活秘钥
  7. 实用软件工程(张海藩)课后答案
  8. 51单片机lcd1602显示时间日期
  9. 《STM32从零开始学习历程》——SPI读取FLASH ID
  10. GEO学习笔记-P1-P2