//创建一个静态方法 
public static DataSet fnInsertSingleUser(DataTable v_dt, params string[] param)
{
try
{
SqlConnection cn = new SqlConnection(connectionString);//connertionString链接数据库字符串
SqlCommand cmd = cn.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = @"" + param[0];
SqlParameter p = cmd.Parameters.AddWithValue("@User", v_dt);
          //参数可以随意增加
SqlParameter pCode = cmd.Parameters.AddWithValue("@pCode", param[1]);
SqlParameter gsdm = cmd.Parameters.AddWithValue("@gsdm", param[2]);
SqlParameter khdm = cmd.Parameters.AddWithValue("@khdm", param[3]);
SqlParameter qy = cmd.Parameters.AddWithValue("@qy", param[4]); DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw ex;
}
}

SQL

IF EXISTS ( SELECT  A = 1
FROM sys.objects
WHERE name = 'PRCreate '
AND type = 'P' )
DROP PROCEDURE dbo.PRCreate go IF EXISTS ( SELECT A = 1
FROM sys.table_types
WHERE name = 'tempPR '
AND is_user_defined = 1 )
DROP TYPE dbo.tempPR go CREATE TYPE dbo.tempPR AS TABLE
(
PT_PCURR decimal(15, 2), --这2个字段必须与传入的C# datatable中 字段的先后顺序一致
MATNR varchar(18)--
) go CREATE PROCEDURE dbo.PRCreate
(
@User AS dbo.tempPR READONLY, --C# datatable参数
@pCode varchar(50),
@gsdm varchar(50),
@khdm varchar(50),
@qy varchar(50)
)
AS
BEGIN
  SELECT * FROM @User
  END

调用

            DataSet ds = new DataSet();
ds = SqlHelper.fnInsertSingleUser(dt, "PRCreate", param[], param[], param[], param[]);//在存储过程中处理,返回结果集

调用时注意传入的参数必须与存储过程中 @User @pCode @gsdm @khdm @qy 的参数一致(见第一段代码)

重点:

1、就是传入存储过程的Datatable参数的字段先后顺序,必须与在存储过程中创建的表字段的先后顺序一致

2、调试:用一句select语句,返回一个DataSet到C#中看看,传入datatable是否正确


												

最新文章

  1. 支付宝PC即时到账和手机网站支付同步
  2. ListView的联动实现
  3. Fibonacci(斐波那契)递归实现。容易看懂
  4. ACM: 强化训练-百度之星-Problem C-字典树
  5. Java里this的作用和用法
  6. 封装insertAfter、addClass、格式化时间
  7. 高斯混合和EM算法
  8. python中的函数存入list中的实例
  9. ECharts-百度地图使用
  10. CentOS, 高速设置ssh无password登录
  11. Jquery.validate表单验证
  12. H5移动端开发入门知识以及CSS的单位汇总与用法
  13. .Net Core建站(4):FTP发布项目及连接服务器数据库
  14. SSH免密码登录Linux服务器
  15. Intervals 差分约束
  16. 科普一下bl锁的知识,没解锁的必看!
  17. puppet的使用:ERB模板介绍
  18. 如何在主Form出现之前,弹出密码验证From,Cancel就退出程序,Ok后密码正确才出现主Form
  19. BrowserLog——使用Chrome控制台作为Log查看器
  20. 新闻编辑室第三季/全集The Newsroom迅雷下载

热门文章

  1. MYSQL基础笔记(二)-SQL基本操作
  2. 标签切换JS代码
  3. 编写一个单独的Web Service for Delphi
  4. python(5) - time模块
  5. 给jdk写注释系列之jdk1.6容器(7)-TreeMap源码解析
  6. [BigData]关于Hadoop学习笔记第一天(PPT总结)(一)
  7. [未完成][Mooc]关于Linxu的总结(一)
  8. 关于Merge的整理--AndroidScreenSlidePager开源库中用到的
  9. iOS开发者如何提高自己的水平(转)
  10. C#中参数传递【转】