annotate HowTo/Data/ExecuteScalar.cs @ 5:f7d63a092920

Исправлено условие Where в тех случаях, когда репозитарий не является генериком
author cin
date Tue, 10 Mar 2015 16:02:11 +0300
parents f990fcb411a9
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
1 using System;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
2 using NUnit.Framework;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
3 using BLToolkit.Data;
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
4
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
5 namespace HowTo.Data
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
6 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
7 [TestFixture]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
8 public class ExecuteScalar
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
9 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
10 string GetFirstName(int id)
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
11 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
12 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
13 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
14 return db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
15 .SetCommand("SELECT FirstName FROM Person WHERE PersonID = @id",
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
16 db.Parameter("@id", id))
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
17 ./*[a]*/ExecuteScalar/*[/a]*/<string>();
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
18 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
19 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
20
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
21 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
22 public void ReaderTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
23 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
24 string firstName = GetFirstName(1);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
25
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
26 Assert.IsNotNull(firstName);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
27 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
28
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
29 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
30 public void ReturnValueTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
31 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
32 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
33 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
34 /*
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
35 * CREATE Function Scalar_ReturnParameter()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
36 * RETURNS int
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
37 * AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
38 * BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
39 * RETURN 12345
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
40 * END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
41 */
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
42 int n = db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
43 .SetSpCommand("Scalar_ReturnParameter")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
44 ./*[a]*/ExecuteScalar/*[/a]*/<int>(/*[a]*/ScalarSourceType.ReturnValue/*[/a]*/);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
45
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
46 Assert.AreEqual(12345, n);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
47 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
48 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
49
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
50 [Test]
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
51 public void OutputParameterAsReturnValueTest()
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
52 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
53 using (DbManager db = new DbManager())
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
54 {
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
55 /*
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
56 * CREATE Procedure Scalar_OutputParameter
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
57 * @outputInt int = 0 output,
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
58 * @outputString varchar(50) = '' output
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
59 * AS
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
60 * BEGIN
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
61 * SET @outputInt = 12345
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
62 * SET @outputString = '54321'
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
63 * END
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
64 */
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
65 string returnValue = db
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
66 .SetSpCommand("Scalar_OutputParameter")
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
67 ./*[a]*/ExecuteScalar/*[/a]*/<string>(/*[a]*/ScalarSourceType.OutputParameter/*[/a]*/, /*[a]*/"outputString"/*[/a]*/);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
68
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
69 Assert.AreEqual("54321", returnValue);
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
70 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
71 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
72 }
f990fcb411a9 Копия текущей версии из github
cin
parents:
diff changeset
73 }