利用SQL SERVER 2005创建的一个存储过程如下
CREATE PROCEDURE [dbo].[up_day_HourPm10Data]
@ldBeginTime datetime,
@ldEndTime datetime
AS
BEGIN
SELECT ld_recv_date, ld_PM10 from dbo.T_Mid_HourPm10Data where ld_recv_date between @ldBeginTime and @ldEndTime
END
上述存储过程 要表达的意思是:从表 dbo.T_Mid_HourPm10Data 中根据起止时间查询出符合条件的记录(接收时间ld_recv_time,监测值ld_PM10)
在SQL查询分析器中执行该存储过程时:
给输入参数赋初值
@ldBeginTime datetime = '2010-3-31 14:00:00',
@ldEndTime datetime = '2010-3-31 17:00:00'
输出结果为:
ld_recv_date ld_PM10
2010-3-31 14:00:00 10
2010-3-31 15:00:00 20
2010-3-31 16:00:00 15
2010-3-31 17:00:00 30
--------------------------------------------------------------
C# WinForm应用程序的窗体上添加两个 datetimepicker 一个listview 一个查询按钮,选择好相应的起止时间后,点击查询按钮即可调用上述存储过程,将查询出来的结果填到listviewer中。。。
由于第一次使用存储过程,不知道如何在C# WinForm应用程序中调用存储过程
恳请大家帮忙,最好能发一个demo源码, 我邮箱 cnyzhy@163.com
谢谢帮忙!
5 个解决方案
#1
基本的c#啊。这种资料多得是。
#2
自己建立一个.cs文件,专门写连接函数,如下:
程序要调用函数user_login,
WebApplication1.cs.user userlogin = new WebApplication1.cs.user();
SqlDataReader recu = userlogin.user_login(username.Text.Trim(),
WebApplication1.cs.user.Encrypt(pwd.Text.Trim()));
///判断用户是否合法
if (recu.Read())
{
UserName = recu["UserName"].ToString();
User_Priviledge = recu["UserPrivilege"].ToString();
RealName = recu["RealName"].ToString();
UserId = recu["ID"].ToString();
}
recu.Close();
需要在user.cs中写这个函数:
public SqlDataReader user_login(string sUserName, string sPassword)
{
///定义类SQLHelper
SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();
///定义保存从数据库获取的结果的DataReader
SqlDataReader dr = null;
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@username",SqlDbType.VarChar,200,sUserName),
sqlHelper.CreateInParam("@pwd",SqlDbType.VarChar,255,sPassword)
};
try
{
///执行存储过程
sqlHelper.RunProc("user_login", paramList, out dr);
}
catch (Exception ex)
{
///抛出执行数据库异常
SystemError.SystemLog(ex.Message);
throw new Exception(ex.Message, ex);
}
///返回从数据库获取的结果
return (dr);
}
它就是去调用存储过程的:
CREATE PROCEDURE [dbo].[user_login]
@username varchar(200),
@pwd varchar(255)
AS
select *
from UserInfo
where UserName=@username and PassWord=@pwd
GO
程序要调用函数user_login,
WebApplication1.cs.user userlogin = new WebApplication1.cs.user();
SqlDataReader recu = userlogin.user_login(username.Text.Trim(),
WebApplication1.cs.user.Encrypt(pwd.Text.Trim()));
///判断用户是否合法
if (recu.Read())
{
UserName = recu["UserName"].ToString();
User_Priviledge = recu["UserPrivilege"].ToString();
RealName = recu["RealName"].ToString();
UserId = recu["ID"].ToString();
}
recu.Close();
需要在user.cs中写这个函数:
public SqlDataReader user_login(string sUserName, string sPassword)
{
///定义类SQLHelper
SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();
///定义保存从数据库获取的结果的DataReader
SqlDataReader dr = null;
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@username",SqlDbType.VarChar,200,sUserName),
sqlHelper.CreateInParam("@pwd",SqlDbType.VarChar,255,sPassword)
};
try
{
///执行存储过程
sqlHelper.RunProc("user_login", paramList, out dr);
}
catch (Exception ex)
{
///抛出执行数据库异常
SystemError.SystemLog(ex.Message);
throw new Exception(ex.Message, ex);
}
///返回从数据库获取的结果
return (dr);
}
它就是去调用存储过程的:
CREATE PROCEDURE [dbo].[user_login]
@username varchar(200),
@pwd varchar(255)
AS
select *
from UserInfo
where UserName=@username and PassWord=@pwd
GO
#3
学习,顶一下
#4
这种是基础啊,你用SQLCommand或adapter就可以了。
#5
显示-服务器浏览?-链接你的DB,找到具体的proc,设置断点
#1
基本的c#啊。这种资料多得是。
#2
自己建立一个.cs文件,专门写连接函数,如下:
程序要调用函数user_login,
WebApplication1.cs.user userlogin = new WebApplication1.cs.user();
SqlDataReader recu = userlogin.user_login(username.Text.Trim(),
WebApplication1.cs.user.Encrypt(pwd.Text.Trim()));
///判断用户是否合法
if (recu.Read())
{
UserName = recu["UserName"].ToString();
User_Priviledge = recu["UserPrivilege"].ToString();
RealName = recu["RealName"].ToString();
UserId = recu["ID"].ToString();
}
recu.Close();
需要在user.cs中写这个函数:
public SqlDataReader user_login(string sUserName, string sPassword)
{
///定义类SQLHelper
SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();
///定义保存从数据库获取的结果的DataReader
SqlDataReader dr = null;
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@username",SqlDbType.VarChar,200,sUserName),
sqlHelper.CreateInParam("@pwd",SqlDbType.VarChar,255,sPassword)
};
try
{
///执行存储过程
sqlHelper.RunProc("user_login", paramList, out dr);
}
catch (Exception ex)
{
///抛出执行数据库异常
SystemError.SystemLog(ex.Message);
throw new Exception(ex.Message, ex);
}
///返回从数据库获取的结果
return (dr);
}
它就是去调用存储过程的:
CREATE PROCEDURE [dbo].[user_login]
@username varchar(200),
@pwd varchar(255)
AS
select *
from UserInfo
where UserName=@username and PassWord=@pwd
GO
程序要调用函数user_login,
WebApplication1.cs.user userlogin = new WebApplication1.cs.user();
SqlDataReader recu = userlogin.user_login(username.Text.Trim(),
WebApplication1.cs.user.Encrypt(pwd.Text.Trim()));
///判断用户是否合法
if (recu.Read())
{
UserName = recu["UserName"].ToString();
User_Priviledge = recu["UserPrivilege"].ToString();
RealName = recu["RealName"].ToString();
UserId = recu["ID"].ToString();
}
recu.Close();
需要在user.cs中写这个函数:
public SqlDataReader user_login(string sUserName, string sPassword)
{
///定义类SQLHelper
SQLHelper.SQLHelper sqlHelper = new SQLHelper.SQLHelper();
///定义保存从数据库获取的结果的DataReader
SqlDataReader dr = null;
///创建访问数据库的参数
SqlParameter[] paramList = {
sqlHelper.CreateInParam("@username",SqlDbType.VarChar,200,sUserName),
sqlHelper.CreateInParam("@pwd",SqlDbType.VarChar,255,sPassword)
};
try
{
///执行存储过程
sqlHelper.RunProc("user_login", paramList, out dr);
}
catch (Exception ex)
{
///抛出执行数据库异常
SystemError.SystemLog(ex.Message);
throw new Exception(ex.Message, ex);
}
///返回从数据库获取的结果
return (dr);
}
它就是去调用存储过程的:
CREATE PROCEDURE [dbo].[user_login]
@username varchar(200),
@pwd varchar(255)
AS
select *
from UserInfo
where UserName=@username and PassWord=@pwd
GO
#3
学习,顶一下
#4
这种是基础啊,你用SQLCommand或adapter就可以了。
#5
显示-服务器浏览?-链接你的DB,找到具体的proc,设置断点