SQL的存储过程问题,高手请~~~~~~~

heiguangbao 2003-05-16 10:33:45
我现在正在做水晶报表,为了优化报表的速度,因此,需要用到SQL的存储过程,这可是件难办的问题,因为我以前从来没有接触过哦,有谁用过,能不能告诉小弟一些好的学习方法,我想尽快搞懂它。我现在不知道它的参数设定有什么用?他的变量怎么申明呀?他的基本语法是什么样子的,有谁用他作过水晶报表呀,能给出具体的例子吗??在这先谢谢了,放心,分不会少给的~~~~~~~~~~~
...全文
24 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
shangerhe 2003-05-19
  • 打赏
  • 举报
回复
先用向导做几个感受一下。然后多看帮助。
zhuohs 2003-05-19
  • 打赏
  • 举报
回复
怎么好像楼上的兄弟们很多都相互认识吗?
存储过程还是看看书吧,
sqlserver本身的帮助文档也介绍了。
blackbook 2003-05-19
  • 打赏
  • 举报
回复
本来人家只是需要一点调用存储过程的方法和怎样写存储过程。
lisoft2002(lisoft2002) 你真乖,厉害 厉害 佩服 佩服。
aquariusBoy 2003-05-18
  • 打赏
  • 举报
回复
这是对你查询出来的东西,进行你要的处理呀,在我的程序里,
我是要处理一下的!:)
好运 2003-05-18
  • 打赏
  • 举报
回复
aquariusBoy(水瓶之心),我们写的不仅仅是在try,catch,finally的区别,更重要的是我的参数加的比你的少一行,并且拿去就可以让报表显示结果了,只要套用,你的if(rs.Read())
{
。。。。
}
else
{
。。。。。。 }

rs.Close();
objLogin.connClose();
实现了什么?
minajo21 2003-05-17
  • 打赏
  • 举报
回复
太笼统了
glboy 2003-05-17
  • 打赏
  • 举报
回复
1.sql-server的帮助
2.查看系统存储过程
3.多练习,可以多上上SQL SERVER版块
aquariusBoy 2003-05-17
  • 打赏
  • 举报
回复
上面两个是我做的一个东西,你可以参考一下~
aquariusBoy 2003-05-17
  • 打赏
  • 举报
回复
Dbconnection objLogin = new Dbconnection(connString);

SqlCommand myCommand = new SqlCommand("sp_UserVerification");
myCommand.Parameters.Add(new SqlParameter("@Username",SqlDbType.VarChar,50));
myCommand.Parameters.Add(new SqlParameter("@Password",SqlDbType.VarChar,50));
myCommand.Parameters.Add(new SqlParameter("@Cookie",SqlDbType.Int));
myCommand.Parameters["@Username"].Value = userName;
myCommand.Parameters["@Password"].Value = password;
myCommand.Parameters["@Cookie"].Value = cookie;

SqlDataReader rs = objLogin.executeQuery(myCommand);
if(rs.Read())
{
。。。。
}
else
{
。。。。。。 }

rs.Close();
objLogin.connClose();
aquariusBoy 2003-05-17
  • 打赏
  • 举报
回复
CREATE PROCEDURE [sp_UserVerification]
(
@Username varchar(50),
@Password varchar(50),
@Cookie int
) AS
if(@Cookie != -1)
Update Signon Set Hits=Hits+1,Cookie=@Cookie WHERE Username = @Username AND Password = @Password AND LockUser = 0
else
Update Signon Set Hits=Hits+1 WHERE Username = @Username AND Password = @Password AND LockUser = 0
SELECT UserID,UserName,RealName,Hits,LockUser FROM Signon,People WHERE Username = @Username AND Password = @Password
Return(1)
GO

这是写在sqlserver的东西

heiguangbao 2003-05-17
  • 打赏
  • 举报
回复
你们都写的不错,不要争了,你们两个都有分
aquariusBoy 2003-05-17
  • 打赏
  • 举报
回复
to:: lisoft2002(lisoft2002)

你写的只不过加了个try,catch,finally

我是故意去掉的,要不然结构太复杂,看得不容易呀,

要做参考当然要简单点了:)
好运 2003-05-17
  • 打赏
  • 举报
回复
aquariusBoy(水瓶之心) ,你写得不好用,看我的:try
{

if (m_myConnection==null)
{
m_myConnection=new SqlConnection(ConnectionString);
}
if(this.m_myConnection.State == System.Data.ConnectionState.Closed)
{
m_myConnection.Open();
}
this.m_PlanQueryDay=this.dtpPlanQueryDay.Value;
this.m_PlanNo=this.tbPlanNo.Text.Trim().ToString();
SqlCommand myCommand=new SqlCommand("LI_DayPlanQuery",m_myConnection);
myCommand.CommandType=System.Data.CommandType.StoredProcedure;

myCommand.Parameters.Add("@Day",this.m_PlanQueryDay);
myCommand.Parameters.Add("@PlanNo",this.m_PlanNo);

System.Data.SqlClient.SqlDataAdapter com= new System.Data.SqlClient.SqlDataAdapter(myCommand );

Dataset1 ds= new Dataset1();
com.Fill(ds,"LI_DayPlanQuery" );


crDayPlanQuery MyReport = new crDayPlanQuery();
MyReport.SetDataSource(ds);
crystalReportViewer1.ReportSource = MyReport;
}
catch(Exception e1)
{
MessageBox.Show(e1.Message,"错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
m_myConnection.Close();
}
享受生活 2003-05-16
  • 打赏
  • 举报
回复
sql-server的帮助
比书强
足够了
imfine 2003-05-16
  • 打赏
  • 举报
回复
随便找本sql-server的书,都有存储过程的讲解

实是在没有,看sql-server的帮助

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧