C# 执行存储过程
SqlParameter[] paras = BuildParas(id, time, name);
bool bRet = ExcuteProcedure(“数据库连接字符串”, "存储过程名", paras, "表名");
public static SqlParameter[] BuildParas(string Id, DateTime Time, string Name)
{
SqlParameter[] paras = new SqlParameter[3];
SqlParameter para1 = new SqlParameter();
para1.Direction = ParameterDirection.Input;
para1.ParameterName = "@pid";
para1.SqlDbType = SqlDbType.VarChar;
para1.Size = 32;
para1.Value = Id;
paras[0] = para1;
SqlParameter para2 = new SqlParameter();
para2.Direction = ParameterDirection.Input;
para2.ParameterName = "@ptime";
para2.SqlDbType = SqlDbType.DateTime;
para2.Value = DateTime.Parse(Time);
paras[1] = para2;
SqlParameter para3 = new SqlParameter();
para3.Direction = ParameterDirection.Input;
para3.ParameterName = "@pname";
para3.SqlDbType = SqlDbType.VarChar;
para3.Size = 20;
para3.Value = Name;
paras[2] = para3;
return paras;
}
public static bool ExcuteProcedure(string strDataBaseInfo, string procedureName, SqlParameter[] paras, string strTableName)
{
bool bRet = false;
SqlCommand cmd = null;
SqlConnection con = new SqlConnection(strDataBaseInfo);
try
{
con.Open();
cmd = new SqlCommand("select count(*) from " + strTableName + " where id='" + paras[0].Value.ToString() + "'", con);//目的是保证id唯一
int nExistCount = int.Parse(cmd.ExecuteScalar().ToString());//查询结果的第一行的第一列
if (nExistCount > 0)
{
return true;
}
cmd = null;
cmd = new SqlCommand(procedureName, con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Clear();
if (paras != null && paras.Length > 0)
{
for (int i = 0; i < paras.Length; i++)
{
cmd.Parameters.Add(paras[i]);
}
}
int nCount = cmd.ExecuteNonQuery();
if (nCount != -1)
{
bRet = true;
}
}
catch (Exception ex)
{
}
finally
{
if (cmd != null)
cmd.Parameters.Clear();
if (con.State == ConnectionState.Open)
con.Close();
}
return bRet;
}
C# 执行存储过程的更多相关文章
- Dapper完美兼容Oracle,执行存储过程,并返回结果集。
Dapper完美兼容Oracle,执行存储过程,并返回结果集. 这个问题,困扰了我整整两天. 刚刚用到Dapper的时候,感觉非常牛掰.特别是配合.net 4.0新特性dynamic,让我生成泛型集合 ...
- JAVA使用JDBC技术操作SqlServer数据库执行存储过程
Java使用JDBC技术操作SqlServer数据库执行存储过程: 1.新建SQLSERVER数据库:java_conn_test 2.新建表:tb_User 3.分别新建三个存储过程: 1>带 ...
- Oracle中执行存储过程call和exec区别
Oracle中执行存储过程call和exec区别 在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是e ...
- C#获取执行存储过程的" 返回值"代码
以下是C#代码: /// <summary> /// 执行存储过程,返回" 返回值" /// </summary> /// <param name=& ...
- C#执行存储过程的简化
下面的方法是我在实际开发中摸索出来的,可以在很大程度上简化调用存储过程的代码. 首先来看一下C#调用存储过程的一般过程:1.打开数据库连接SqlConnection:2.生成一个SqlCommand: ...
- MyCat 学习笔记 第十三篇.数据分片 之 通过HINT执行存储过程
1 环境说明 VM 模拟3台MYSQL 5.6 服务器 VM1 192.168.31.187:3307 VM2 192.168.31.212:3307 VM3 192.168.31.150: 330 ...
- 原生jdbc执行存储过程
//定时任务,结转 . //表名 fys_sch_lvyou2 ,存储过程名:fys_sch_lvyou2_carrayover //无参调用:{call insertLine} //有参调用:{ca ...
- 0327定时执行--存储过程--dbms_job--dbms_scheduler.create_job
--oracle job 定时执行 存储过程 --建一张测试表 create table Person( name ), sex ) ); / --创建测试的存储过程 create or replac ...
- EF中执行存储过程,获取output返回值
EF不能直接支持执行存储过程,于是使用转化成执行SQL语句的形式,却怎么也获取不到output的值,折腾的好久,终于解决了,分享下曲折的经历: public int AddVote(int title ...
- Oracle创建存储过程、执行存储过程基本语法
>>>>>>>>>>>>>>>>>>>>>>>>> ...
随机推荐
- arry()数组的理解及api的使用(一)
我们想要了解数组,首先就要先要了解到什么是数据结构,所谓的数据结构就是把数据与数据见的关系按照特定的结构来保存.设计合理的数据结构是解决问题的前提.了解了数据结构后我们下面来数组的定义:数组(arra ...
- web多语言的一种处理方式
在开发一种国际化系统时,多语言是必须的. 总的来说处理方式有两种,一种是后端处理,另一种是前端处理.呵呵,有点废话~~ 后端处理没用过,猜猜是在标记需要处理语言的地方进行替换. 前端处理是要先把语言文 ...
- DOM事件相关内容
一.事件流 事件流描述的是从页面中接受事件的顺序.IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流1.事件冒泡事件冒泡,事件最开始由最具体触发事件的元素(文档中嵌套层次最深的那个节点) ...
- 转载: js jquery 获取当前页面的url,获取frameset中指定的页面的url(有修改)
转载网址:http://blog.csdn.net/bestlxm/article/details/6800077 js jquery 怎么获取当前页面的url,获取frameset中指定的页面的ur ...
- gridview中判断隐藏还是现实
<asp:TemplateField HeaderText="呼出" HeaderStyle-Width="60px" HeaderStyle-Horiz ...
- [iOS常见问题] 关于使用QQ做第三方登录的问题!
[iOS常见问题] 关于使用QQ做第三方登录的问题! 注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现! 第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成 ...
- Linux安装oracle报错解决
安装报错:[oracle@centos1 database]$ ./runInstaller Starting Oracle Universal Installer... Checking insta ...
- adnroid 监听收到的短信并根据短信内容进行回复短信
定义一个广播接收器 public class SMSReceiver extends BroadcastReceiver { private SmsManager smsManager; @Overr ...
- LeetCode_N-Queens II
Follow up for N-Queens problem. Now, instead outputting board configurations, return the total numbe ...
- QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)
QT中QProcess调用命令行的痛苦经历 阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在Q ...