本文实例讲述了asp.net中IDataParameter调用存储过程的实现方法,是asp.net数据库程序设计中非常实用的技巧。分享给大家供大家参考。
具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
public string GenerateExamePaper( string paperType, string driverID, string MacAddr) { int i; IDataParameter[] iData = new SqlParameter[4]; iData[0] = new SqlParameter( "@paperType" , paperType); iData[1] = new SqlParameter( "@driverID" , driverID); iData[2] = new SqlParameter( "@MacAddr" , MacAddr); iData[3] = new SqlParameter( "@sReturn" , SqlDbType.Char, 50, ParameterDirection.Output, false , 0, 0, string .Empty, DataRowVersion.Default, null ); string aaa = "" ; i= DbHelperSQL.RunProcedureParOut( "Pro_GenerateExamePaper" , iData, out aaa).ToString(); return aaa; } /// <summary> /// 执行存储过程,返回影响的行数 /// </summary> /// <param name="storedProcName">存储过程名</param> /// <param name="parameters">存储过程参数</param> /// <param name="rowsAffected">影响的行数</param> /// <param name="rowsAffected">返回output值</param> /// <returns></returns> public static int RunProcedure( string storedProcName, IDataParameter[] parameters, out int rowsAffected, out str) { using (SqlConnection connection = new SqlConnection(connectionString)) { int result; connection.Open(); SqlCommand command = BuildIntCommand(connection, storedProcName, parameters); rowsAffected = command.ExecuteNonQuery(); result = ( int )command.Parameters[ "ReturnValue" ].Value; str= ( int )command.Parameters[ "@sReturn" ].Value; return result; } } |
相信本文所述对大家的asp.net程序设计有一定的借鉴价值。