VB.net数据库编程(06):调用存储过程(带参和不参数情况)
来源:互联网 发布:cisco端口类型 编辑:程序博客网 时间:2024/05/16 14:25
先建立一个无参的存储过程,为下面第一个无参调用作准备:
use Salesgocreate procedure sp_getGradeas select * from grade where 数学>60go
注:go是作为前面批处理的结束情况。因为前面执行是要花时间的,如果后面执行的要依赖前面结果,没有go的话,有可能前面
没有执行完,当然后面依赖此结果的语句就会执行错误。所以go的作用很大。
再复习ADO.net的过程:
一、连接数据库
二、发出指令。command默认是commandType.text。因为是存储过程,所以应指明为commandType.StoreProcedure
三、填充结果集,显示。
所以代码如下:
Imports System.Data.SqlClientPublic Class Form1 Dim cn As SqlConnection Dim cm As SqlCommand Dim da As SqlDataAdapter Dim ds As DataSet Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try cn = New SqlConnection("Data Source=(local);Initial Catalog=Sales;Integrated Security=false;User ID=sa;Password=123456;") cn.Open() '此句不省 cm = New SqlCommand("sp_getGrade", cn) cm.CommandType = CommandType.StoredProcedure '指明为存储过程 da = New SqlDataAdapter(cm) ds = New DataSet() da.Fill(ds, "grade") DataGridView1.DataSource = ds.Tables("grade") cn.Close() Catch ex As Exception MessageBox.Show("执行失败") End Try End SubEnd Class
结果如下:
================================================================================================
下面是一个带参数的存储过程的调用。
这个带参的存储过程用到了前面的SQL存储过程:
注:output是说明这个参数是一个输出变量。有三种变量:输入变量(就是前面两个就是),输出变量(第三个),输入/输出变量。
表中存储的用户名和密码。存储过程就是来验证里面的用户名和密码的。
下面用vb.net来调用这个带参数的存储过程。
带参数的存储过程有一个专门的Parameters属性来指明,其中的Add就是添加这个参数。
另外还有一个Value是获得或设置其变量的值。direction也一样,只不过是特殊的值,比如本的输出参数。
看下实例:带参的存储过程调用
Imports System.Data.SqlClientPublic Class Form1 Dim cn As SqlConnection Dim cm As SqlCommand Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try cn = New SqlConnection("Data Source=.;Initial Catalog=Sales;Integrated Security=False;User ID=sa;Password=123456;") cn.Open() cm = New SqlCommand("sp_CheckPass", cn) cm.CommandType = CommandType.StoredProcedure cm.Parameters.Add("@CHKName", SqlDbType.VarChar, 30).Value = TextBox1.Text cm.Parameters.Add("@CHKPass", SqlDbType.VarChar, 30).Value = TextBox2.Text cm.Parameters.Add("@ISValid", SqlDbType.VarChar, 12).Direction = ParameterDirection.Output cm.ExecuteNonQuery() If cm.Parameters("@ISValid").Value = "Good" Then MessageBox.Show("验证成功") Else MessageBox.Show("验证失败") End If Catch ex As Exception MessageBox.Show(ex.ToString) End Try End SubEnd Class
结果:
注:这里没用密码框,是为了显示程序流程。
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)
- VB.net 调用带参数存储过程
- VB.net 调用带参数存储过程(转载)
- asp.net 调用 存储过程(带output 参数)
- Vb.net数据库编程(05):SQlserver的存储过程
- Vb.net数据库编程(05):SQlserver的存储过程
- VB.NET、EXCEL调用SQL Server带参数的存储过程并返回数据集
- HOW TO:使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- 如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- 如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- 如何使用 ADO.NET 和 Visual C# .NET 调用带参数的存储过程
- HOW TO:使用 ADO.NET 和 Visual C++ .NET 调用带参数的存储过程
- 取的存储过程的返回值和输出参数(asp.net 和vb)
- vb.net 调用存储过程
- Java调用存储过程(带输出参数)
- ado调用存储过程(带输出参数)
- Oracle 中调试、调用(带参数的)存储过程
- Java 高质量编程建议(笔记5)
- 住房公积金拍照
- Objective-C的setter和getter
- HDU1269--迷宫城堡--深度优先搜索
- Asp.Net底层解析(五)——HttpHandler详解
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)
- Java 高质量编程建议(笔记6)
- var optionelems = cityelem.getElementsByTagName("option");
- 浅析C语言中的指针
- VS2010添加默认路径和库,新工程无需手动添加
- html中设置超出部分自动显示滚动条
- 分享一个jquery插件:实现类似淘宝上鼠标经过图片右侧显示大图的效果
- 一步一图教你完成Windows XP(32位)+VS Express环境下CUDA开发环境配置
- 把一个bmp图片写入文件中