c#ADO.NET 执行带参数及有返回数据
直接上代码,这个过程中有个数据SqlDataReader转为 DataTable的过程,当中为什么这样,是应为我直接绑定DataSource的时候没有数据,网人家说直接绑定但是没效果,我就转换了一下。
//存储过程
public static DataTable GetTableaToPROCEDURE(string ProcName,DateTime begin,DateTime end,string Name, string strcon)
{
using (SqlConnection conn = new SqlConnection(strcon))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = 1000;
cmd.Connection = conn;
cmd.CommandText = ProcName;//需要调用的存储过程
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter para0 = new SqlParameter("@ad_begin", SqlDbType.DateTime);//参数名称,类型,大小
para0.Value = begin;
SqlParameter para1 = new SqlParameter("@ad_end", SqlDbType.DateTime);//参数名称,类型,大小
para1.Value = end;
SqlParameter para2 = new SqlParameter("@ClientName", SqlDbType.NVarChar, 100);//参数名称,类型,大小
para2.Value = Name;
cmd.Parameters.Add(para0);
cmd.Parameters.Add(para1);
cmd.Parameters.Add(para2);
//获得数据
SqlDataReader sqlDate = cmd.ExecuteReader();//执行完后关闭连接
DataTable dt = new DataTable();//新建一个临时表存放结果
dt= ConvertDataReaderToDataTable(sqlDate);
return dt;
}
}
/// <summary>
/// SqlDataReader 转成 DataTable
/// </summary>
/// <param name="dataReader"></param>
/// <returns></returns>
private static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader)
{
///定义DataTable
DataTable datatable = new DataTable();
try
{ ///动态添加表的数据列
for (int i = 0; i < dataReader.FieldCount; i++)
{
DataColumn myDataColumn = new DataColumn();
myDataColumn.DataType = dataReader.GetFieldType(i);
myDataColumn.ColumnName = dataReader.GetName(i);
datatable.Columns.Add(myDataColumn);
}
///添加表的数据
while (dataReader.Read())
{
DataRow myDataRow = datatable.NewRow();
for (int i = 0; i < dataReader.FieldCount; i++)
{
myDataRow[i] = dataReader[i].ToString();
}
datatable.Rows.Add(myDataRow);
myDataRow = null;
}
///关闭数据读取器
dataReader.Close();
return datatable;
}
catch (Exception ex)
{
///抛出类型转换错误
//SystemError.CreateErrorLog(ex.Message);
throw new Exception(ex.Message, ex);
}
}
c#ADO.NET 执行带参数及有返回数据的更多相关文章
- [转]SSIS OLE DB Source中执行带参数的存储过程
本文转自:http://www.cnblogs.com/michaelxu/archive/2009/10/21/1587450.html 问题描述:执行一个存储过程得到一个多条记录的结果集,然后循环 ...
- 执行带参数的sql字符串
--要传入的参数 declare @Rv NVARCHAR(40) --要执行的带参数的sql字符串 declare @sql nvarchar(max) set @sql='select * fr ...
- Flex 关于 keyDown事件的添加和移除(另附添加事件的执行带参数的函数)
今天遇到一个棘手的问题,原本的textInput控件有一个keyDown事件,但是不是所有的用户都需要,麻烦了首先先删除控件里面的keyDown,这个事件放在这谁都得用,我就是不想用这就实现不了,怎么 ...
- Vue+elementUI 自定义动态数据菜单导航组件实现展开收缩+路由跳转router-view渲染数据 路由跳转到同一个页面带参数ID 自动刷新数据
准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0 ...
- Java后端发出post请求带参数并接收返回的json
核心代码: 参数格式: “key1=value1&key2=value2” /*** sendUrl (远程请求的URL)* param (远程请求参数)* JSONObject ...
- 11g_job执行带参数的procedure
现有一个参数为date类型的存储: create or replace procedure t_pro(t_var in date) as begin dbms_output.put_line(T ...
- ADO.NET笔记——带参数的查询防止SQL注入攻击
相关知识: 把单引号替换成两个单引号,虽然能起到一定的防止SQL注入攻击的作用,但是更为有效的办法是把要拼接的内容做成“参数” SQLCommand支持带参数的查询,也就是说,可以在查询语句中指定参数 ...
- C#执行带参数的Oracle存储过程
public void UpdateByRowGuid(string RowGuid) { //OracleConnection conn = new OracleConnection("d ...
- crontab执行带参数的php脚本,并取得参数[转]
现在越来越喜欢用linux了,程序当中也去掉了很多触发性判断,改用了借用linux的crontab的特性来进行,这样程序效率确实是高了很多. 比如我们每月1号清空月点击,比如每天凌晨统计上一天的访问报 ...
随机推荐
- Nginx02(环境配置以及基本使用)
一:Nginx环境配置 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet ...
- 华为云fusionsphere 6.1组件功能
[fsp@controller-21 ~]$ openstack --version ##fusionsphere 6.1基于openstack 2.2.1 [fsp@controller-21 ...
- 无法解析的外部符号 "void __cdecl cv::imshow
解决方法: 把编译环境放到其他没有报错的项目上,编译通过.
- 登录-退出,在T分钟实现BC次用户登录退出,单次登录-退出%90用户时间t,需要的并发用户(线程)
聚合报告%90响应时间:%90用户响应时小于该值 2种理解方式: 一. 1s可完成的用户1/t: T分钟完成的用户T *(1/t); BC次用户需要的线程数Thread= BC/(T*(1/t)) = ...
- HardFault_Handler的方法转载
在硬汉平台看到一个比较好的帖子,关于如何定位HardFault_Handler,这里要记录下网址. http://www.armbbs.cn/forum.php?mod=viewthread& ...
- null与“ ”的区别
null是空对象,""是空字符串 null可以赋值给任何对象 ""只能赋值给字符串对象 String s=null; string.trim()就会抛出为空的e ...
- 论文阅读笔记六十四: Architectures for deep neural network based acoustic models defined over windowed speech waveforms(INTERSPEECH 2015)
论文原址:https://pdfs.semanticscholar.org/eeb7/c037e6685923c76cafc0a14c5e4b00bcf475.pdf 摘要 本文研究了利用深度神经网络 ...
- nexus php composer host 模式repo 试用
前边有介绍以及运行过基于nexus proxy 模式的php composer(其中也有一些坑),以下是关于host 模式的 简单使用 环境准备 docker-compose 文件 version ...
- 微信小程序特性总结
一. 小程序不是运行在浏览器中, 所以没有BOM和DOM对象 即console.log(window)和console.log(document)是获取不到任何内容的 二. 小程序特有的额外js成员( ...
- config 文件读取
在项目中我们经常要使用到config文件进行相应的配置,来使我们的项目更加灵活健壮. 最常见的就connetionStrings .appSettings这两个节点,那么我们怎么读取呢? 1.首先 我 ...