当前位置: 首页 > news >正文

爱站网关键词查询系统公司logo需要注册吗

爱站网关键词查询系统,公司logo需要注册吗,修改标题下分类 wordpress,怎么做网站论坛存储过程在应用程序端的使用的优点 1 如果sql语句直接写在客户端#xff0c;以一个字符串的形式体现的#xff0c;提示不友好#xff0c;会导致效率降低 2 sql语句写在客户端#xff0c;可以利用sql注入进行攻击#xff0c;为了安全性#xff0c;可以把sql封装在…存储过程在应用程序端的使用的优点 1 如果sql语句直接写在客户端以一个字符串的形式体现的提示不友好会导致效率降低         2 sql语句写在客户端可以利用sql注入进行攻击为了安全性可以把sql封装在服务器存储过程在客户端进行 SQL自定义无参数存储过程 创建存储过程 usp_ScoreQuery1 -- 查询考试成绩显示学号、姓名、班级、总成绩并按成绩的总分高低排序。 -- 统计分析考试成绩显示班级名称、C#平均分、数据库平均分按照班级分组实现。 use SMDBgoif exists (select * from sysobjects where name usp_ScoreQuery1)drop procedure usp_ScoreQuery1gocreate procedure usp_ScoreQuery1as-- 查询考试成绩select Students.StudentId,StudentName,ClassName, ScoreSum (CSharp SqlserverDB) from Studentsinner join StudentClass on StudentClass.ClassId Students.ClassIdinner join ScoreList on ScoreList.StudentId Students.StudentIdorder by ScoreSum DESC-- 分析考试信息select ClassName,C#AvgAVG(CSharp),DBAvgAVG(SqlserverDB) from ScoreListinner join Students on Students.StudentId ScoreList.StudentIdinner join StudentClass on StudentClass.ClassId Students.ClassIdgroup by ClassNameorder by ClassNamego 针对上面实现的效果继续修改改为参数可以带默认值  use SMDB go if exists (select * from sysobjects where name usp_ScoreQuery4) drop procedure usp_ScoreQuery4 go create procedure usp_ScoreQuery4-- 带默认值CSharp int 60,SqlserverDB int 60 asselect Students.StudentId,StudentName,CSharp as C#,SqlserverDB as DB from ScoreListinner join Students on Students.StudentId ScoreList.StudentIdwhere CSharp CSharp or SqlserverDB SqlserverDB go-- 调用参数带默认值的存储过程 use SMDB go exec usp_ScoreQuery4 -- 两个都走的默认值 exec usp_ScoreQuery4 70,80 -- 第二个参数取默认值 exec usp_ScoreQuery4 SqlserverDB 70 -- 第一个参数取默认值 exec usp_ScoreQuery4 default,70 -- 第一个参数取默认值(同上) 3. 自定义带输出参数的存储过程 -- 问题查询考试成绩要求自定义分数线显示查询列表并输出缺考总人数、不及格总人数? use SMDB go if exists (select * from sysobjects where name usp_ScoreQuery5) drop procedure usp_ScoreQuery5 go create procedure usp_ScoreQuery5-- 输出参数习惯输出参数放在输入参数的前面AbsentCount int output, -- 缺考总人数FailCount int output, -- 不及格总人数-- 输入参数CSharp int 60, -- CSharp分数线SqlserverDB int 60 -- SqlserverDB分数线 as-- 查询考试成绩要求自定义分数线select Students.StudentId,StudentName,CSharp as C#,SqlserverDB as DB from ScoreListinner join Students on Students.StudentId ScoreList.StudentIdwhere CSharp CSharp or SqlserverDB SqlserverDB-- 缺考总人数select AbsentCount count(*) from Students where StudentId not in (select StudentId from ScoreList)-- 不及格总人数select FailCount count(*) from ScoreList where CSharp CSharp or SqlserverDB SqlserverDB go-- 调用参数带默认值的存储过程 use SMDB go -- 首先定义输出参数命名可以和上面的保持一致不一样也行 declare AbsentCount int, FailCount int -- 调用存储过程时输出参数后面也必须加上 output 关键字 exec usp_ScoreQuery5 AbsentCount output,FailCount output select AbsentCount as 缺考总人数,FailCount as 不及格总人数 -- 打印一下结果 print AbsentCount print FailCount 链接SQL数据库 public string connString Server.;DataBaseSMDB;Uidsa;Pwd123456; 搭建Winfrom窗体  一无参数的存储过程的调用  不带参数存储过程的使用  1指定存储过程名称         string proceName usp_ScoreQuery5;         2创建指令对象传递连接对象和存储过程         SqlCommand cmd new SqlCommand(proceName,conn);         3 指定指令执行类型         cmd.CommandType CommandType.StoredProcedure;         4 执行指令         SqlDataReader dr cmd.ExecuteReader(); private void button1_Click(object sender, EventArgs e){//1 定义存储过程名称string proceName usp_ScoreQuery1;//2 创建一个指令对象SqlCommand cmd new SqlCommand();//3 添加执行sql语句和设置连接对象cmd.CommandText proceName;// 添加执行的sqlcmd.Connection conn; //设置连接对象//4 执行命令类型cmd.CommandType System.Data.CommandType.StoredProcedure;// 5 取出数据ListModel1 model1s new ListModel1();// 存储第一个表的数据ListModel2 models2 new ListModel2();//存储第二个表的数据try{SqlDataReader dr cmd.ExecuteReader(); // 读取数据库数据while (dr.Read()){model1s.Add(new Model1() { StudentId Convert.ToInt32( dr[StudentId]),StudentName dr[StudentName].ToString(),ClassName dr[ClassName].ToString(),ScoreNum Convert.ToInt32(dr[ScoreSum])});}//如果有第二个数据源 读取第二个selectif (dr.NextResult()){while (dr.Read()){models2.Add(new Model2() {ClassName dr[ClassName].ToString(),CSharpAvg Convert.ToInt32(dr[C#Avg]),DBAvg Convert.ToInt32(dr[DBAvg]),});}}dr.Close();this.dataGridView1.DataSource model1s;this.dataGridView2.DataSource models2;}catch{throw;}} 二带输入参数的存储过程的使用 带输入参数的存储过程的调用 1指定存储过程名称                 string proceName usp_ScoreQuery5;         2创建指令对象传递连接对象和存储过程                 SqlCommand cmd new SqlCommand(proceName,conn);         3 指定指令执行类型                 cmd.CommandType CommandType.StoredProcedure;         4 添加输入参数                 cmd.Parameters.Add(new SqlParameter()                     {                         ParameterName CSharp,                         Direction ParameterDirection.Input,                         SqlDbType SqlDbType.Int,                         Value 80                     });         5执行指令                 SqlDataReader dr cmd.ExecuteReader(); private void button2_Click(object sender, EventArgs e) {//1 指明存储过程string proceName usp_ScoreQuery4;//2 创建指令对象SqlCommand cmd new SqlCommand();//3 设置连接和设置执行过程cmd.Connection conn; cmd.CommandText proceName;//4 执行类型cmd.CommandType CommandType.StoredProcedure;//5 设置输入参数//定义参数方法1SqlParameter csharp new SqlParameter();csharp.ParameterName CSharp;// 设置csharp是存储过程中对应CSharp输入参数csharp.Direction ParameterDirection.Input;//设置为输入参数csharp.Value 180;// 设置参数的值为70csharp.SqlDbType SqlDbType.Int; //设置参数类型cmd.Parameters.Add(csharp); // 把输入参数添加到参数列表里面// 定义参数方法2 SqlserverDBcmd.Parameters.Add(new SqlParameter() { ParameterName SqlserverDB,Direction ParameterDirection.Input,Value 180,SqlDbType SqlDbType.Int,});// 6 获取数据ListModel3 list new ListModel3();try{SqlDataReader dr cmd.ExecuteReader();while (dr.Read()){list.Add(new Model3(){StudentId Convert.ToInt32(dr[StudentId]),StudentName dr[StudentName].ToString(),CSharp Convert.ToInt32(dr[C#]),DB Convert.ToInt32(dr[DB]),});}dr.Close();this.dataGridView1.DataSource list;}catch{throw;} } 三调用带输出参数的存储过程 对应的是model3对象 带输入参数带输出参数的调用 添加输出参数即可      cmd.Parameters.Add(new SqlParameter()             {                 ParameterName AbsentCount,                 Direction ParameterDirection.Output,                 SqlDbType SqlDbType.Int,             });    获取输出参数的值         cmd.Parameters[AbsentCount].Value.ToString() private void button3_Click(object sender, EventArgs e) {string proceName usp_ScoreQuery5;SqlCommand cmd new SqlCommand(proceName,conn);//cmd.CommandText proceName;//cmd.Connection conn;cmd.CommandType CommandType.StoredProcedure;//设置输出参数cmd.Parameters.Add(new SqlParameter() { ParameterName AbsentCount,Direction ParameterDirection.Output,SqlDbTypeSqlDbType.Int,});cmd.Parameters.Add(new SqlParameter(){ParameterName FailCount,Direction ParameterDirection.Output,SqlDbType SqlDbType.Int,});//输入参数cmd.Parameters.Add(new SqlParameter(){ParameterName CSharp,Direction ParameterDirection.Input,SqlDbType SqlDbType.Int,Value 80});cmd.Parameters.Add(new SqlParameter(){ParameterName SqlserverDB,Direction ParameterDirection.Input,SqlDbType SqlDbType.Int,Value 80});//取数据ListModel3 list new ListModel3();SqlDataReader dr cmd.ExecuteReader();while (dr.Read()){list.Add(new Model3(){StudentId Convert.ToInt32(dr[StudentId]),StudentName dr[StudentName].ToString(),CSharp Convert.ToInt32(dr[C#]),DB Convert.ToInt32(dr[DB]),});}dr.Close();this.dataGridView1.DataSource list;//输出参数的值怎么取 缺考总人数? 不及格人数?this.label1.Text 缺考总人数: cmd.Parameters[AbsentCount].Value.ToString() 人;this.label2.Text 不及格总人数: cmd.Parameters[FailCount].Value.ToString() 人; }
http://www.sczhlp.com/news/199253/

相关文章:

  • 网站备案简单吗成都市专业制作网站
  • 苏州网站网络营销推广网站建设越来越难做
  • 网站虚拟主机空间1g多吗网页上传wordpress
  • 网站建设-应酷安徽金路建设集团有限公司网站
  • 珠海网站艰涩和东城企业网站开发
  • 汽车装饰网站源码建网站需要准备什么
  • 企业网站设计有名 乐云seo找产品代理去哪个网站
  • 如何查询网站接入信息莱芜二手房网站
  • 网站上的产品五星怎样做优化邢台网站建设公司排名
  • 沈阳做手机网站的公司网站和网站的app
  • 怎么优化网站代码wordpress主题移动端
  • 晋城网络公司做网站的做明星ps黄图网站
  • c2c代表网站有哪些南昌网站建设好企业网站
  • 如何自助建网站网站商城运营成本
  • 网站建设营销方案家电网站源码
  • 巩义网站建设方案表保定模板建站哪家好
  • 网站开发开票水果网站源码
  • 网站推广网深圳市坪山新区建设局网站
  • 文件外链网站简单的网页设计教程
  • 足球网站模板下载网站开发中网页打印
  • 河南郑州做网站汉狮wordpress 备份还原
  • 皇岗网站建设怎么开设自己的网站
  • 苏州做网站需要多少钱开公司流程及费用2022最新
  • chatgpt中文在线seo数据监控平台
  • 网站首页内链怎么做商标注册查询怎么查询
  • 哪个网站建设平台支持花呗分期注册个公司一年需要多少费用
  • 网站排名优化软件联系方式长沙网站建设+个人
  • 做哪个网站好百度权重高的网站
  • 北京网站开发公司大全wordpress邀请码露兜
  • 成都网站建设模板制作app网站开发重庆