首页 > 编程 > .NET > 正文

ASP.NET技巧:存储过程的分析

2024-07-10 13:09:22
字体:
来源:转载
供稿:网友

最大的网站源码资源下载站,

1 // 对存储过程的分析:实例
 2         // string g_name ,string g_password为传递给此存储过程的参数,string loging表示方法名和类型
 3    
 4          public   string  login( string  g_name , string  g_passord)
 5          {
 6
 7             sqlconnection conn  =   new  sqlconnection(configurationsettings.appesettings[ " connectionstring " ]);
 8          // 此为连接语句
 9          /**/ /*
10          configurationsettings.appesettings["connectionstring"]
11          表示从configurantion加载了一条连接语句
12          config里的语句为
13          <appsettings>
14          <add key="connectionstring" value="server=localhost;uid=sa;pwd=sa; database= global" />
15         </appsettings>
16          <system.web>
17          注意此标是放在<system.web>的上面
18           */ 
19             sqlcommand comm  =   new  sqlcommand( " login " ,conn);
20          // 新建一个sqlcommand的实例comm并把它标记为储蓄过程名为login。
21        
22             comm.commandtype  = commandtype.storedprocedure;
23          // 将comm标记为储蓄过程
24
25
26
27          // 下面为存储过程添加参数
28             sqlparameter parameterg_name  =   new  sqlparameter( " @g_name " ,sqldbtype.nvarchar, 20 );
29          //  新建了一个sqlparameter的储蓄过程参数实例:实例名为pranmeterg_name
30          // 并定义了一个名为"@g_name"的参数名,定义类型sqldbtype为nvarchar 字节数为20;
31        
32             parameterg_name.value = g_name;
33          // 为参数实例parameterg_name赋值 为这个值是从方法login中传递进来的值
34          // 注意parameterg_name.value=g_name 中的g_name和语句new sqlparameter("@g_name",sqldbtype.nvarchar,20);
35          // 中的@g_name是不同,@g_name是为一个sqlparameter的储蓄过程定义的一个参数名
36 
37             comm.parameters.add(prarameterg_name);
38          //  为comm为添加参数paratemterg_name
39
40
41
42
43             sqlparameter parameterg_password  =   new  sqlparameter( " @g_password " ,sqldbtype.nvarchar, 20 );
44             parameterg_password.value = g_password;
45             comm.parameters.add(parameterg_password);
46
47             sqlparameter parameterg_id  =   new  sqlparameter( " @g_id " ,sqldbtype.int, 4 );
48             parameterg_id.direction  =  parameterdirection.output;
49              //  parameterg_id.ddirection 获取或者设置一个值,该值指示指示参数是只可
50             // 只可以输入,只可以输出,双向 还是存储过程返回值参数
51              // parameterdirection.output;定义了此参数为输出参数
52             comm.parameters.add(paramerg_id);
53            
54              // 打开连接并执行command命令
55             conn.open();
56             comm.executenonquery();
57             conn.close();
58            
59              // 对获得parameterg_id.value的值进行处理
60              int  g_id  = ( int )(parameterg_id.value);
61
62              if (g_id == 0 )
63              {
64                  return   null ;
65                  // 返回空
66             }
67              else
68              {
69                 g_id.tostring();
70                  // 将此信息转换为等效字符串的表现形势
71             }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表