SQL Server 12存储过程及在VS2015 C#调用自己的存储过程调用过程(详解)
2018-04-02 10:39
726 查看
一、创建数据表下图为表 custom 结构
下图为表 department 结构(id为外键,作为表custom中列 departID的参考列)
三、调用存储过程本次调用在VS2015 网页后台中调用(1)引用连接操作数据库头文件using System.Data.SqlClient;using System.Data.Sql;using System.Data;(2)调用增加数据存储过程[sql] view plain copy//创建连接对象conn SqlConnection conn = new SqlConnection(); //设置连接sql字段(参数为:连接的服务器名 .为本地服务器;连接数据库名;用户名;密码) conn.ConnectionString = " Data Source =.; Initial Catalog = web; User ID = Jce; Password = 569931614"; //创建调用数据库指令调用存储过程参数为调用的(存储过程名称,连接对象) SqlCommand cmd = new SqlCommand("Addcustom", conn); //将指令类型设置为存储过程 cmd.CommandType = CommandType.StoredProcedure; //设置输入到存储过程的参数(但不能为null,当为null时认为无参数,自定义参数,空值时为"") string cname,id,ename,password; int age; //多值调用 //数据库指令cmd.Parameters中存放参数,只用Add添加多个参数 //SqlDbType设置相应的参数类型 //添加类型后使用.Value属性设置相应的参数值 cmd.Parameters.Add("@cname", SqlDbType.NChar).Value =cname; cmd.Parameters.Add("@departid", SqlDbType.Int).Value = id; cmd.Parameters.Add("@ename", SqlDbType.NChar).Value = ename; cmd.Parameters.Add("@password", SqlDbType.NChar).Value = password; cmd.Parameters.Add("@age", SqlDbType.Int).Value = age; //当将参数输入后执行过程 cmd.ExecuteNonQuery(); (3)调用删除存储过程[csharp] view plain copySqlConnection conn = new SqlConnection(); conn.ConnectionString = " Data Source =.; Initial Catalog = web; User ID = Jce; Password = 569931614"; //创建调用数据库指令调用存储过程参数为调用的(存储过程名称,连接对象) cmd = new SqlCommand("Delcustom", conn); int id; //将指令类型设置为存储过程 cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@id", SqlDbType.Int).Value = id; cmd.ExecuteNonQuery(); (4)调用查询存储过程[csharp] view plain copy//创建连接对象conn SqlConnection conn = new SqlConnection(); //设置连接sql字段(参数为:连接的服务器名 .为本地服务器;连接数据库名;用户名;密码) conn.ConnectionString = " Data Source =.; Initial Catalog = web; User ID = Jce; Password = 569931614"; //创建调用数据库指令调用存储过程 SqlCommand cmd = new SqlCommand("Checkcustom", conn); //将指令类型设置为存储过程 cmd.CommandType = CommandType.StoredProcedure; string cname,departID,ename,password; int age; //将值传入存储过程的参数过程中,如果为判断是否为空时传入null时则认为无参数出错,传入""时在存储过程中无法判断,因此在存储过程中判断是否为" " //在判断条件输入框是否为空值时,判断是否="",而不判断是否=null if (cname == "") cmd.Parameters.Add("@cname", SqlDbType.NChar).Value = " "; else cmd.Parameters.Add("@cname", SqlDbType.NChar).Value = cname; if(ename()=="") cmd.Parameters.Add("@ename", SqlDbType.NChar).Value = " "; else cmd.Parameters.Add("@ename", SqlDbType.NChar).Value = ename; if(password=="") cmd.Parameters.Add("@password", SqlDbType.NChar).Value = " "; else cmd.Parameters.Add("@password", SqlDbType.NChar).Value = password; if(departID=="") cmd.Parameters.Add("@password", SqlDbType.NChar).Value = " "; else cmd.Parameters.Add("@departname", SqlDbType.NChar).Value = departID; cmd.Parameters.Add("@age", SqlDbType.Int).Value = age;cmd.ExecuteNonQuery(); SqlDataAdapter dr = new SqlDataAdapter(); dr.SelectCommand = cmd;DataSet ds = new DataSet(); //创建数据集;dr.Fill(ds); //填充数据集 this.GridView1.DataSource = ds;GridView1.DataBind(); //将数据源绑定到控件上 (5)调用修改数据存储过程 //创建连接对象conn SqlConnection conn = new SqlConnection(); //设置连接sql字段(参数为:连接的服务器名 .为本地服务器;连接数据库名;用户名;密码) conn.ConnectionString = " Data Source =.; Initial Catalog = web; User ID = Jce; Password = 569931614"; //创建调用数据库指令调用存储过程 SqlCommand cmd = new SqlCommand("Altercustom", conn); //将指令类型设置为存储过程 cmd.CommandType = CommandType.StoredProcedure; //多值调用 //数据库指令cmd.Parameters中存放参数,只用Add添加多个参数 //SqlDbType.NChar设置相应的参数类型 //添加类型后使用.Value属性设置相应的参数值 string cname,departID,ename,password; int age,id; cmd.Parameters.Add("@id", SqlDbType.Int).Value = id; cmd.Parameters.Add("@cname", SqlDbType.NChar).Value = cname; cmd.Parameters.Add("@departid", SqlDbType.Int).Value = departID; cmd.Parameters.Add("@ename", SqlDbType.NChar).Value = ename; cmd.Parameters.Add("@password", SqlDbType.NChar).Value = password; cmd.Parameters.Add("@age", SqlDbType.Int).Value = age;cmd.ExecuteNonQuery(); 在上述代码中连接数据库的部分是重复的,因此对其进行封装简化代码空字符串和null的区别空字符串:已经分配了存储空间但没有存储内容null:没有分配存储空间[csharp] view plain copy [plain] view plain copy [csharp] view plain copy [csharp] view plain copy [csharp] view plain copy [csharp] view plain copy [csharp] view plain copy [csharp] view plain copy [csharp] view plain copy [csharp] view plain copy
相关文章推荐
- SQL Server2012 创建数据库存储过程和VS2015 C#调用自己的存储过程
- ASP调用sql server 存储过程详解-附带实例-
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- SQL Server 2000 通用单表或视图查询存储过程及C#调用示例
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- C#调用Sql Server 2008的存储过程流程
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- 存储过程和C#中调用详解
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- Java调用SQL Server的存储过程详解
- C#调用SQL Server存储过程