ADO.NET 3.5 同SQL 2008的新的存储过程保存方式
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的新的存储过程保存方式相关推荐
- 今天在webcasts上看sql server 2008的新功能介绍,无意中发现在连接sql server 数据库时,还有一个...
今天在webcasts上看sql server 2008的新功能介绍,无意中发现在连接sql server 数据库时,还有一个 Failover Partner的选项.以前都没注意过,它的主要功能就是 ...
- SQL 2008升级SQL 2008 R2完全教程或者10.00.1600升级10.50.1600
今天将由于需要就将我的SQL 2008升级到SQL 2008 R2. 说到为什么要升级是因为,从另一台机器上备份了一个数据库,到我的机器上还原的时候提示"System.Data.SqlCli ...
- ADO.net,Linq to SQL和Entity Framework性能实测分析
[测试总结] 第一阶段测试结果非常出人意料,ADO.net和LINQ to SQL操作数据的时间都控制在0.5秒以内,非常的迅速,但是Entity Framework在添加这步表现非常差,由于这五步是 ...
- mfc中ado上传image到sql数据库
mfc中ado上传image到sql server数据库 一.关于mfc的使用就不在此献丑了,直接讲ado连接sql server数据库. 1.我采用的是连接方法是调用一个udl文件中的数据库配 ...
- [eBook] SQL 2008
[eBook] SQL 2008 Wrox.Professional.SQL.Server.2008.Internals.and.Troubleshooting Microsoft.Press.Mic ...
- sql 2008 R2添加对MySql的远程服务器链接
(1).我的sql 2008 R2所在的系统为Windows server 2008 *64 (2).MySQL所在的系统为Windows server 2003 *86 我想要实现的是在sql 20 ...
- SQL Server 2008 数据库同步的两种方式 (发布、订阅)
参考转载: SQL Server 2008 数据库同步的两种方式 (发布.订阅) 使用Sqlserver事务发布实现数据同步 转载于:https://www.cnblogs.com/YangBinCh ...
- MS SQL 2008 发布订阅配置错误总结
最近在配置SQL 2008的发布订阅功能时,遇到了几个小错误,顺便归纳总结一下(以后碰到各类关于发布订阅的错误都将收录.更新到这篇文章),方便自己在以后碰到这类问题时,能够迅速解决问题.毕竟人的记忆能 ...
- 用ado.net生成对应的sql语句
在不知道是增是删还是改还是查的情况下,用ado.net生成对应的sql语句. 对一张表批量操作. 但前提条件是,对应一张表,主键,表的约束.//1.连接数据库SqlConnection con = n ...
最新文章
- 收藏!一篇文章搞懂甘特图
- python可以做什么项目-Python可以做大项目吗?
- 周源:视频加密和DRM实施实践
- linux cacti 搭建,Cacti搭建部署
- 使用IDEA Maven搭建Mybatis环境
- [css] 你有没有自己写过一套UI库?说下遇到哪些难点?
- 【Java】获取并打印当前堆栈的方法
- 计算机应用水平考试dream,2016年职称计算机Dreamwaver使用教程:操作环境
- CCS各个版本软件的下载及安装说明(内涵有详细获取安装包以及步骤奥)
- 分享我本人打造微信公众号吸粉引流的恶搞方法
- 如何将ape转换mp3格式
- Android主题换肤实现原理与Demo
- LazyAn-cocos插件开发实战
- 一副眼镜一千多贵吗_眼镜片的价格差距为什么那么大
- 设置两个路由器连接以扩大WiFi覆盖范围的方法
- 常识-键盘锁定英文输入法,即使按shift也无法切换回中文
- 网络安全法及个人信息法律解读
- 跨越技术鸿沟:从TCPIP到NDN
- Julia ---- 为Julia做一下辩解
- 恢复微信撤回的图片(不容root,极其简单)