C#下创建存储过程用于Insert或者Update数据的Demo
2015-03-11 11:01
363 查看
开始的时候想用那个批量导入工具,但是后来发现这个批量导入适用于那种第一次导入的情况,假如再次进行操作而且当前数据库中已经有一些数据则不再合适!
然后我就尝试创建了存储过程,这应该也可以很大程度上提高读写数据库的操作效率!
使用C# 调用该存储过程的代码:
然后我就尝试创建了存储过程,这应该也可以很大程度上提高读写数据库的操作效率!
CREATE PROCEDURE InsertORUpdateDLXX @MPH CHAR(50),@QYDM CHAR(50),@RQ DATETIME,@DBH CHAR(20),@QS FLOAT,@ZS FLOAT,@CSDL FLOAT AS IF EXISTS(SELECT * FROM DLXXB WHERE MPH = @MPH AND QYDM = @QYDM AND convert(nvarchar(6),RQ,112)=convert(nvarchar(6),@RQ,112)) BEGIN UPDATE DLXXB SET QS=@QS,ZS=@ZS,CSDL=@CSDL WHERE MPH=@MPH AND QYDM=@QYDM AND convert(nvarchar(6),RQ,112)=convert(nvarchar(6),@RQ,112) END ELSE BEGIN INSERT INTO dbo.DLXXB ( MPH , QYDM , DBH , QS , ZS , CSDL , RQ ) VALUES ( @MPH , -- MPH - varchar(50) @QYDM , -- QYDM - varchar(50) @DBH , -- DBH - varchar(20) @QS , -- QS - float @ZS , -- ZS - float @CSDL , -- CSDL - float @RQ -- RQ - datetime ) END ;
使用C# 调用该存储过程的代码:
static void Main(string[] args) { //2015-3-11写两个存储过程的测试程序 首先测试电量信息表 SqlConnection conn = new SqlConnection("server=.;database=cpu_ele_db; User ID=sa;password=afanti"); try { conn.Open(); Console.WriteLine("当前连接状态为:" + conn.State.ToString() + "如果当前状态为Open则可以进行后续的操作"); SqlCommand cmd_Insert = new SqlCommand("InsertORUpdateDLXX",conn); cmd_Insert.CommandType = CommandType.StoredProcedure; cmd_Insert.Parameters.Add("@MPH", SqlDbType.Char); cmd_Insert.Parameters.Add("@QYDM", SqlDbType.Char); cmd_Insert.Parameters.Add("@RQ", SqlDbType.DateTime); cmd_Insert.Parameters.Add("@DBH", SqlDbType.Char); cmd_Insert.Parameters.Add("@QS", SqlDbType.Float); cmd_Insert.Parameters.Add("@ZS", SqlDbType.Float); cmd_Insert.Parameters.Add("@CSDL", SqlDbType.Float); //开始给添加的各个参数进行赋值操作 cmd_Insert.Parameters["@MPH"].Value = "001030101B"; cmd_Insert.Parameters["@QYDM"].Value = "S0606S01"; cmd_Insert.Parameters["@RQ"].Value = "2013-04-21 15:00:00.000"; cmd_Insert.Parameters["@DBH"].Value = "62001617"; cmd_Insert.Parameters["@QS"].Value = "1"; cmd_Insert.Parameters["@ZS"].Value = "2"; cmd_Insert.Parameters["@CSDL"].Value = "3"; cmd_Insert.ExecuteNonQuery(); } catch (Exception ex) { throw ex; } finally { conn.Close(); } Console.ReadLine(); }
相关文章推荐
- C#开发学习笔记:C#通过存储过程创建数据表
- .Nettiers的事件:下拉控件数据绑定,Insert,调用自定存储过程,获取新增ID,事务,DeepLoad,DeepSave,Save,Update,DeepDelete【原创】
- 存储过程生成数据表的insert脚本(转)
- SQL 可以将表中数据转换成insert脚本的存储过程-spGenInsertSQLHan
- Scott Mitchell 的ASP.NET 2.0数据教程之67:在TableAdapters里创建新的存储过程
- Java操作含Clob或者NClob数据类型的存储过程实例
- c#动态创建存储过程中,提示'go' 附近有语法错误解决方案
- 在ASP.NET 2.0中操作数据之六十五:在TableAdapters中创建新的存储过程
- 使用C#创建SQL Server的存储过程(Visual Studio 2005 + SQL Server 2005)
- 利用存储过程将表中的数据生成Insert语句
- C#中的类SqlCommand对象使用方法ExecuteNonQuery()调用SQLServer存储过程时,存储过程执行成功,数据发生改变,但是返回-1
- MS SQL Server中数据表、视图、函数/方法、存储过程是否存在判断及创建
- C#与SQL Server存储过程之一(创建):使用C#创建SQL Server的存储过程
- C# 存储过程得到数据集
- C# asp.net SQL存储过程写法Insert 插入语句,及其在asp.net中的调用方法
- 使用C#创建SQL Server的存储过程(Visual Studio 2005 + SQL Server 2005)
- 根据表中数据生成insert语句的存储过程
- 使用C#创建SQL Server的存储过程
- mssql 生成‘批量Insert数据的sql语句’的存储过程
- 在C#中创建sql的存储过程方法之一