C#.net存储过程访问数据库(带参数)
来源:互联网 发布:java课题 编辑:程序博客网 时间:2024/05/21 16:22
在sql server2000/2005中创建LSystem数据库,包含t_users表(user_no,user_name,user_pwd),这都是上次的图书管理系统的数据库。。。仅当做实验而已
创建存储过程lend_limit(写得比较简单,只是演示, 呵呵)
//参数mount可以去掉
create procedure lend_limit @id char(20)
as declare
@mount int;
begin
select *from t_users where user_id=@id
END
//DataBase类,用于数据库连接
如下:
using System;
using System.Data.SqlClient;
using System.Data;
namespace 使用存储过程访问数据库
{
///
/// Description of DataBase.
///
public class DataBase
{
private SqlConnection connect;
//private SqlDataReader sdr;
public DataBase()
{
string conString=@"Server=.;database=LSystem;user id=sa;password=110;";
this.connect=new SqlConnection(conString);
this.connect.Open();
}
//存储过程返回reader
//传入procStr存储过程名和sp(参数,即存储过程定义的参数),当然,该函数只适合一个参数的存储过程,可以重载该函数
public SqlDataReader getPReader(string procStr,SqlParameter sp)
{
SqlCommand sc=new SqlCommand(procStr,this.connect);
sc.CommandType=CommandType.StoredProcedure;
sc.Parameters.Add(sp);
SqlDataReader sqlDR=sc.ExecuteReader();
return sqlDR;
}
public void closeConnection()
{
connect.Close();
}
}
}
主类:
using System;
using System.IO;
using System.Data;
using System.Data.SqlClient;
namespace 使用存储过程访问数据库
{
class Program
{
public static void Main(string[] args)
{
DataBase db=new DataBase();
SqlDataReader reader;
//参数的构造,@id为存储过程的参数名,SqlDbType.NChar为类型,与存储过程中定义的一致,20为大小
SqlParameter sqlPara=new SqlParameter("@id",SqlDbType.NChar,20);
// 参数赋值,在应用程序中传入
sqlPara.Value="1001";
//调用DataBase中的函数,返回reader
reader=db.getPReader("lend_limit",sqlPara);
//这样就可以对返回结果操作了
while(reader.Read())
{
Console.WriteLine("hello");
Console.WriteLine("{0}/t{1}/t{2}",reader[0].ToString().PadRight(30),reader[1].ToString().PadRight(20),reader[2].ToString());
}
//关闭
db.closeConnection();
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
}
结果为
- C#.net存储过程访问数据库(带参数)
- 数据库通用访问过程及带传出参数存储过程的使用
- VB.net 调用带参数存储过程
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)
- VB.net数据库编程(06):调用存储过程(带参和不参数情况)
- ASP.NET 调用存储过程访问数据库
- ADO.NET使用存储过程访问数据库
- 带参数存储过程
- ASP 调用带返回参数和记录集的存储过程二次访问数据库服务器的解决办法
- asp.net中使用带参数的存储过程
- VB.net 调用带参数存储过程(转载)
- [转载]asp.net中使用带参数的存储过程
- asp.net 调用 存储过程(带output 参数)
- asp.net调用带返回值参数的存储过程
- Ado.Net调用带输入,输出参数的存储过程
- 数据库-存储过程sybase带输入输出参数和游标功能
- Java代码调用数据库带输出参数的存储过程
- ASP.net(c#) 在ACCESS数据库中利用参数使用存储过程例子(防SQL注入)
- Oracle 10g卸载笔记和Oracle 9i卸载方法
- 关于电脑用着用着突然打开文件或者我的电脑或者桌面显示很卡的问题
- 虚拟机Linux的网络配置
- mtk 注册表应用.reg 批处理.bat
- 用jQuery.noConflict()防止$的冲突
- C#.net存储过程访问数据库(带参数)
- Shell实现Linux进程间信息交换的几种方法
- 各位前辈指点下小弟
- 数据建模
- 一个div中包含有ul的时候,解决不同浏览器差异
- c++ template
- Java中相对路径,绝对路径问题
- sql server数据库改名字后,附加不上后,可用sql语句附加,相当方便好用
- 微机原理复习笔记—可编程并行接口芯片8255