1. 我们在SQL 2008当中新建一个测试用表。

create table employee (
id int,
name varchar(100)

)

2.创建一个类型。

create type emplyeetable as Table
 (
 id int,name varchar(100)
 )

这个类型同表的结构是一样的。生成后在 [DB]->Programmability->Types->User-Defined Table Types节点下面就可见。

3.创建存储过程

create proc InsertEmployee(@em emplyeetable readonly)
 as
 begin
 insert into  employee
 select * from @em
 end

这里要注意了:readonly这个是必需的。emplyeetable 这个就是type的名称。

接着我们可以查询分析器当中用下面的语句来测试一下了

declare @t as emplyeetable
 
 insert into @t values(1,'terry')
 
 execute InsertEmployee @t

-------------

运行完之后,应该是可以将数据插入到数据库的,那么我们就要进入C#当中进入程序的编写了。先创建一个测试工程。

public void TestTest()
   {
  //自己改一下连接字符串吧

SqlConnection myconn = new SqlConnection("Data Source=localhost;Initial Catalog=TestDB;Integrated Security=True"); 
  myconn.Open();
  SqlCommand cmd = new SqlCommand();
  cmd = myconn.CreateCommand();

//-------这里就是组装一个DataTable出来给程序。
  DataTable dt = new DataTable();
  dt.Columns.Add(new DataColumn("id",System.Type.GetType("System.Int32")));
  dt.Columns.Add(new DataColumn("name", System.Type.GetType("System.String")));

dt.Rows.Add(1, "Terry");

//---------

cmd.Connection=myconn ;
  cmd.CommandText="InsertEmployee";
  cmd.CommandType=CommandType.StoredProcedure;

SqlParameter sp = new SqlParameter();
  sp.SqlDbType = SqlDbType.Structured;
  sp.TypeName = "emplyeetable";
  sp.Value = dt;
  sp.ParameterName = "@em";
  cmd.Parameters.Add(sp);
  cmd.ExecuteNonQuery();

转载于:https://www.cnblogs.com/hmII/archive/2010/05/11/1732628.html

ADO.NET 3.5 同SQL 2008的新的存储过程保存方式相关推荐

  1. 今天在webcasts上看sql server 2008的新功能介绍,无意中发现在连接sql server 数据库时,还有一个...

    今天在webcasts上看sql server 2008的新功能介绍,无意中发现在连接sql server 数据库时,还有一个 Failover Partner的选项.以前都没注意过,它的主要功能就是 ...

  2. SQL 2008升级SQL 2008 R2完全教程或者10.00.1600升级10.50.1600

    今天将由于需要就将我的SQL 2008升级到SQL 2008 R2. 说到为什么要升级是因为,从另一台机器上备份了一个数据库,到我的机器上还原的时候提示"System.Data.SqlCli ...

  3. ADO.net,Linq to SQL和Entity Framework性能实测分析

    [测试总结] 第一阶段测试结果非常出人意料,ADO.net和LINQ to SQL操作数据的时间都控制在0.5秒以内,非常的迅速,但是Entity Framework在添加这步表现非常差,由于这五步是 ...

  4. mfc中ado上传image到sql数据库

    mfc中ado上传image到sql server数据库 一.关于mfc的使用就不在此献丑了,直接讲ado连接sql server数据库.    1.我采用的是连接方法是调用一个udl文件中的数据库配 ...

  5. [eBook] SQL 2008

    [eBook] SQL 2008 Wrox.Professional.SQL.Server.2008.Internals.and.Troubleshooting Microsoft.Press.Mic ...

  6. sql 2008 R2添加对MySql的远程服务器链接

    (1).我的sql 2008 R2所在的系统为Windows server 2008 *64 (2).MySQL所在的系统为Windows server 2003 *86 我想要实现的是在sql 20 ...

  7. SQL Server 2008 数据库同步的两种方式 (发布、订阅)

    参考转载: SQL Server 2008 数据库同步的两种方式 (发布.订阅) 使用Sqlserver事务发布实现数据同步 转载于:https://www.cnblogs.com/YangBinCh ...

  8. MS SQL 2008 发布订阅配置错误总结

    最近在配置SQL 2008的发布订阅功能时,遇到了几个小错误,顺便归纳总结一下(以后碰到各类关于发布订阅的错误都将收录.更新到这篇文章),方便自己在以后碰到这类问题时,能够迅速解决问题.毕竟人的记忆能 ...

  9. 用ado.net生成对应的sql语句

    在不知道是增是删还是改还是查的情况下,用ado.net生成对应的sql语句. 对一张表批量操作. 但前提条件是,对应一张表,主键,表的约束.//1.连接数据库SqlConnection con = n ...

最新文章

  1. 收藏!一篇文章搞懂甘特图
  2. python可以做什么项目-Python可以做大项目吗?
  3. 周源:视频加密和DRM实施实践
  4. linux cacti 搭建,Cacti搭建部署
  5. 使用IDEA Maven搭建Mybatis环境
  6. [css] 你有没有自己写过一套UI库?说下遇到哪些难点?
  7. 【Java】获取并打印当前堆栈的方法
  8. 计算机应用水平考试dream,2016年职称计算机Dreamwaver使用教程:操作环境
  9. CCS各个版本软件的下载及安装说明(内涵有详细获取安装包以及步骤奥)
  10. 分享我本人打造微信公众号吸粉引流的恶搞方法
  11. 如何将ape转换mp3格式
  12. Android主题换肤实现原理与Demo
  13. LazyAn-cocos插件开发实战
  14. 一副眼镜一千多贵吗_眼镜片的价格差距为什么那么大
  15. 设置两个路由器连接以扩大WiFi覆盖范围的方法
  16. 常识-键盘锁定英文输入法,即使按shift也无法切换回中文
  17. 网络安全法及个人信息法律解读
  18. 跨越技术鸿沟:从TCPIP到NDN
  19. Julia ---- 为Julia做一下辩解
  20. 恢复微信撤回的图片(不容root,极其简单)

热门文章

  1. gradle maven_Gradle vs Maven
  2. wordpress评论框_如何通过过滤和阻止它们来抵御WordPress垃圾评论
  3. AngularJS自定义指令教程第2部分
  4. 常见的Java开发框架有哪些?
  5. 《Fluid Engine Development》 学习笔记3-光滑粒子流体动力学
  6. WPF整理-使用ResourceDictionary管理Logical Resources
  7. 一套OA系统 破解中小企业4大管理难题
  8. 【转】Netty那点事(一)概述
  9. 解决IP地址冲突的问题
  10. 淘宝潜规折射出的人性