Mysql存储函数实现增删改查_使用存储过程操作数据库(实现增删改查)
使用存储过程操作数据库
添加数据:
--创建一个存储过程,向表中插入一条数据
create proc usp_insertintoTbClass
@className nvarchar(50),
@classDes nvarchar(100)
as
begin
insert into TbClass values( @ClassName,@classDes)
end
exec usp_insertintoTbClass @className='初一三班',@classDes='中班'
string constr=ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
using(SqlConnection con=new SqlConnection(constr))
{
using(SqlCommand cmd=new SqlCommand("usp_insertintoTbClass",con))
{
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@className",txtinsertname.Text.Trim());
cmd.Parameters.AddWithValue("@classDes",txtinsertdes.Text.Trim().Trim());
con.Open();
int r=cmd.ExecuteNonQuery();
MessageBox.Show("成功插入"+r+"条数据");
}
}
修改数据:
---创建一个存储过程来修改表中的数据
create proc usp_TbClass_updateclass
@ClassId int,
@ClassName nvarchar(50),
@ClassDescription nvarchar(100)
as
begin
update TbClass set ClassName=@ClassName,ClassDescription=@ClassDescription
where ClassId=@ClassId
end
exec usp_TbClass_updateclass 2,'高一四班','重点理科班'
//1:引用配置文件,创建链接字符串
string constr=ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
//2:创建链接对象
using(SqlConnection con=new SqlConnection(constr))
{
//3:创建链接对象把存储过程作为一个参数语句传递给数据库对象
using(SqlCommand cmd=new SqlCommand("usp_TbClass_updateclass",con))
{
//4:将数据库对象设这为存储过程对象StoredProcedure
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ClassName",txtname.Text.Trim());
cmd.Parameters.AddWithValue("@ClassDescription",txtdsc.Text.Trim());
cmd.Parameters.AddWithValue("@ClassId",txtid.Text.Trim());
con.Open();
int r=cmd.ExecuteNonQuery();
MessageBox.Show("成功更改"+r+"条数据");
}
}
删除数据:
---创建一个存储过程删除表中的数据
create proc usp_TbClass_deleteclass
@ClassId int
as
begin
delete TbClass where ClassId=@ClassId
end
string constr=ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
using(SqlConnection con=new SqlConnection(constr))
{
using(SqlCommand cmd=new SqlCommand("usp_TbClass_deleteclass",con))
{
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ClassId",txtdelet.Text.Trim());
con.Open();
int r=cmd.ExecuteNonQuery();
txtdelet.Clear();
if(r!=0)
{
MessageBox.Show("成功删除"+r+"条数据");
}
else
{
MessageBox.Show("您输入的班级编号不存在");
}
}
}
读取数据:
----创建一个存储过程查询表中的数据---------
create proc usp_selectTbClass
@classId int
as
begin
select * from TbClass where ClassId=@classId
end
private void button1_Click(objectsender,EventArgse)
{
string constr=ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
SqlConnection con=new SqlConnection(constr);
using(SqlCommand cmd=new SqlCommand("usp_select TbClass",con))
{
con.Open();
cmd.CommandType=System.Data.CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@classId",txtclassid.Text.Trim());
//SqlParameter p1 = new SqlParameter("@className", SqlDbType.NVarChar);
//SqlParameter p2 = new SqlParameter("@classDes", SqlDbType.NVarChar);
//p1.Direction = ParameterDirection.Output;
//p2.Direction = ParameterDirection.Output;
//cmd.Parameters.Add(p1);
//cmd.Parameters.Add(p2);
using(SqlDataReader reader=cmd.ExecuteReader())
{
if(reader.HasRows)
{
while(reader.Read())
{
txtname.Text=reader.GetString(1);
txtdsc.Text=reader.GetString(2);
//txtname.Text = reader.GetString(0).ToString();
//txtdsc.Text = reader.GetString(1).ToString();
//cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
MessageBox.Show("读取成功");
}
}
}
}
}
Mysql存储函数实现增删改查_使用存储过程操作数据库(实现增删改查)相关推荐
- django-model操作数据库(增删改查)
django-model操作数据库(增删该查) 一.数据库操作 1.创建model表 基本结构 更多字段: + View Code 更多参数 + View Code 2.注册APP,setting ...
- 十天学会mysql增删改查_第11天 MySQL-SQL普通增删改查
一.如何设计表****关系 自然界中的关系通过数据对应的模式进行分析之后,得出结果:可以大致分为三种,一对一,一对多(多对一),多对多 一对多 一对多与多对一是一个概念,指的是一个实体的某个数据与另外 ...
- uniCloud云函数中通过传统方式操作数据库的-增删改查
云函数 可以看做java或者php,作为后端服务 cloudfunctions/myCloud/index.js exports.main = async (event, context) => ...
- java数据库edit_Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- 使用LitePal操作数据库(CRUD增删改查) 项目已上传GitHub
GitHub项目地址: https://github.com/Skymqq/LitePalSave.git LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)映射的模式 ...
- mysql5建函数报1064错误,MySQL存储函数创建错误ERROR 1064和1327
我正在使用MySQL v5.1.36,我正在尝试使用此代码创建存储函数. DELIMITER // CREATE FUNCTION `modx`.getSTID (x VARCHAR(255)) RE ...
- mysql存储函数声明float_mysql存储float
Mysql中,int(10)和int(11)的区别 int(M) M指示最大显示宽度.最大有效显示宽度是255.显示宽度与存储大小或类型包含的值的范围无关 首先说一下mysql的数值类型,MySQL支 ...
- mysql创建有参数的函数,使用动态数量的参数创建MySQL存储函数
我正在尝试创建一个MySQL函数IS_IN_ENUM('value','val1′,'val2′,'val3′),如果'value'在('val1′,'val2′,'val3')中,则返回true.我 ...
最新文章
- Docker网络——实现容器间通信、容器与外网通信以及容器的跨主机访问
- gitlab更改默认Nginx
- AndroidStudio打开新项目提示:Module: ‘app‘ platform ‘android-29‘ not found
- Method.invoke 异常捕获
- python退出帮助系统_Python退出脚本并返回Main
- 45. Use member function templates to accept all compatible types.
- Android RecyclerView 子条目(item)嵌套 RecyclerView
- 六子棋 java_六子棋——人工智能系统的设计与研究_Java
- Vulkan 多线程渲染
- 【论文】 Skeletonization of Ribbon-Like Shapes Based on Regularity and Singularity Analyses
- JavaScript判断浏览器内核
- 零基础搭建私人影音媒体平台【远程访问Jellyfin播放器】
- 养猫日记-20200411
- ADATE320介绍
- Learning from Synthetic Data: Addressing Domain Shift for Semantic Segmentation
- 三大特性看明白中国电影市场
- 杂谈之WEB前端project师身价
- DiaKG:用于构建医学知识图谱的糖尿病标注数据集【命名实体识别(NER)和关系抽取(RE)】
- IAR forARM 建立第一个STM32F051的工程
- Linux学习及红帽认证--01day