一个客户的项目 要做一个生日报就是卖报纸,数据库设计倒是简单。。就是报名 时间(就是年月日)库存,但是数据量很多。。他是1900年到2007年。。100来年啊。。一年就365天而且他有100多种报纸。。所以数据量是相当的大。。
 
这种客户根本就不能给用ACCESS数据库了。。速度上就根不上了。。
只好给上SQL了。。而且要用存储过程。。以前一直没用过。。不过难度倒是不大。。
不过点是比较被。。由于自己的电脑比较垃圾(上班用的这台,可不是我家的。。呵呵),装个sql2000竟然装了一个上午,就是认不出来。。人品吧。。哇咔咔。。
下午结果装上了。。
开始研究.Net的存储过程。。找北京的朋友。。咨询了一下。。结果也没有讨论出太明确的结果,他给了些代码。。结果手机显示的不是很全。。就没太看。。还是屏幕小啊。。回来换个大的去。。就又去网上找了。。最后在蓝色上找到个asp版的。。不过这就不错拉。。给出链接来(http://www.blueidea.com/tech/program/2006/3972.asp)SQL存储过程初探,
我的要求倒也不高,能select insert update 就可以了。。也没啥太大的要求。
 
看后终于明白了。。用了2分钟给改成 .net版的存储过程了。。哇咔咔。。
下面给出两个重点。。一个就是存储过程的写法

1.Net 的存储过程 终于搞定!CREATE PROCEDURE [dbo].[insertpp] AS
2.Net 的存储过程 终于搞定!
3.Net 的存储过程 终于搞定!begin
4.Net 的存储过程 终于搞定! insert into myuser ( name ) VALUES ('pengpeng')
5.Net 的存储过程 终于搞定!end
6.Net 的存储过程 终于搞定!GO
这个是我在sql2000的存储过程里写的。和蓝色的那个教程有点不一样,但是能用就是硬道理!!
带参数的。。我就直接拷贝人家教程的吧。。原理一样我就不写了。。懒下下了。。呵呵

1.Net 的存储过程 终于搞定!CREATE PROC upGetUserName
2.Net 的存储过程 终于搞定!@intUserId        NVARCHAR(50),
3.Net 的存储过程 终于搞定!@intUserpass        NVARCHAR(50)    
4.Net 的存储过程 终于搞定!AS
5.Net 的存储过程 终于搞定!BEGIN
6.Net 的存储过程 终于搞定!        SELECT uname FROM users WHERE uId=@intUserId and pass=@intUserpass
7.Net 的存储过程 终于搞定!
8.Net 的存储过程 终于搞定!END
9.Net 的存储过程 终于搞定!GO

其实就是多个变量。。
下面给出.net的调用代码(说实话和asp没太大区别。。嘿嘿)

 1.Net 的存储过程 终于搞定!private void Button1_Click(object sender, System.EventArgs e)
 2.Net 的存储过程 终于搞定!  {
 3.Net 的存储过程 终于搞定!   try
 4.Net 的存储过程 终于搞定!   {
 5.Net 的存储过程 终于搞定!    common.db db = new common.db();
 6.Net 的存储过程 终于搞定!    db.ExeSql("exec insertpp");
 7.Net 的存储过程 终于搞定!    common.FunLib.Msg("插入成功!",this.Page);
 8.Net 的存储过程 终于搞定!   }
 9.Net 的存储过程 终于搞定!   catch
10.Net 的存储过程 终于搞定!   {
11.Net 的存储过程 终于搞定!    common.FunLib.Msg("插入错误!",this.Page);
12.Net 的存储过程 终于搞定!   }
13.Net 的存储过程 终于搞定!  }

当然了。。数据库那里还有配置了。。

 1.Net 的存储过程 终于搞定!<!--
 2.Net 的存储过程 终于搞定! 数据库字段设置 彭彭编写
 3.Net 的存储过程 终于搞定! -->
 4.Net 的存储过程 终于搞定! 
 5.Net 的存储过程 终于搞定!  <appSettings>
 6.Net 的存储过程 终于搞定! <add key="connSelect" value="sqlCon"></add>
 7.Net 的存储过程 终于搞定! <add key="accessConn" value="Provider=Microsoft.Jet.OLEDB.4.0;Data source=D:\webpp\2007年8月份网站\pp.mdb" ></add>
 8.Net 的存储过程 终于搞定! <add key="sqlCon" value="Data Source=AS\PPP;Database=test;Uid=sa;Pwd="></add>
 9.Net 的存储过程 终于搞定! <add key="flashxml" value="D:\webpp\2007年8月份网站\viewerData.xml"></add>
10.Net 的存储过程 终于搞定! </appSettings>
11.Net 的存储过程 终于搞定!
12.Net 的存储过程 终于搞定!</configuration>
13.Net 的存储过程 终于搞定!

当然这个是彭彭自己的.Net数据库类。。大家每个人用的都不一样。。我也就不说啥了。。会的看看就会了。。很简单的。。要是不会。。我也只能就说到这里了。。大家多交流吧。。快下班拉。。晚上去吃大餐啦。。高兴中。。
-----------------------------
补个最终版的sql语句
insert into AName ( BId,ADateTime,ANum ) VALUES (@intBId,@StartDate,@intNum)
-----------------------------
再次修改为:重复的数量加一,不重复的插入数据。
 1.Net 的存储过程 终于搞定!CREATE PROCEDURE [dbo].[insertRs]
 2.Net 的存储过程 终于搞定!@intBId        int,
 3.Net 的存储过程 终于搞定!@StartDate    smalldatetime,
 4.Net 的存储过程 终于搞定!@EndDate       smalldatetime ,
 5.Net 的存储过程 终于搞定!@intNum    int
 6.Net 的存储过程 终于搞定! AS
 7.Net 的存储过程 终于搞定!begin
 8.Net 的存储过程 终于搞定!
 9.Net 的存储过程 终于搞定!while @StartDate <= @EndDate
10.Net 的存储过程 终于搞定!begin 
11.Net 的存储过程 终于搞定!print @StartDate
12.Net 的存储过程 终于搞定!if exists (select * from AName where ADateTime = @StartDate)
13.Net 的存储过程 终于搞定!BEGIN
14

相关文章:

  • 2021-12-06
  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-01
  • 2021-11-20
猜你喜欢
  • 2021-09-23
  • 2021-10-24
  • 2022-01-08
  • 2021-08-30
  • 2022-12-23
  • 2022-01-13
  • 2022-01-14
相关资源
相似解决方案