You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: tests/SqlClient.Tests/CreateCommand.fs
+56-11Lines changed: 56 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -82,17 +82,62 @@ let columnsShouldNotBeNull2() =
82
82
let_,_,_,_,precision = cmd.Execute().Value
83
83
Assert.Equal(None, precision)
84
84
85
-
[<Fact>]
86
-
lettoTraceString()=
87
-
letnow= System.DateTime.Now
88
-
letuniversalNow= now.ToString("O")
89
-
letnum=42
90
-
letexpected= sprintf "exec sp_executesql N'SELECT CAST(@Date AS DATE), CAST(@Number AS INT)',N'@Date Date,@Number Int',@Date='%s',@Number='%d'" universalNow num
91
-
letcmd= DB.CreateCommand<"SELECT CAST(@Date AS DATE), CAST(@Number AS INT)", ResultType.Tuples>()
92
-
Assert.Equal<string>(
93
-
expected,
94
-
actual = cmd.ToTraceString( now, num)
95
-
)
85
+
moduleTraceTests =
86
+
87
+
let [<Literal>]queryStart="SELECT CAST(@Value AS "
88
+
let [<Literal>]queryEnd=")"
89
+
90
+
let [<Literal>]DATETIME="DateTime"
91
+
let [<Literal>]queryDATETIME= queryStart + DATETIME + queryEnd
92
+
93
+
let [<Literal>]DATETIMEOFFSET="DateTimeOffset"
94
+
let [<Literal>]queryDATETIMEOFFSET= queryStart + DATETIMEOFFSET + queryEnd
95
+
96
+
let [<Literal>]TIMESTAMP="Time"
97
+
let [<Literal>]queryTIMESTAMP= queryStart + TIMESTAMP + queryEnd
98
+
99
+
let [<Literal>]INT="Int"
100
+
let [<Literal>]queryINT= queryStart + INT + queryEnd
101
+
102
+
let [<Literal>]DECIMAL63="Decimal(6,3)"
103
+
let [<Literal>]queryDECIMAL63= queryStart + DECIMAL63 + queryEnd
104
+
105
+
let inlinetestTraceString traceQuery (cmd :^cmd)dbType (value :^value)printedValue =
letexpected= sprintf "exec sp_executesql N'SELECT CAST(@Date AS DATE), CAST(@Number AS INT)',N'@Date Date,@Number Int',@Date='%s',@Number='%d'" universalPrintedNow num
94
+
letexpected= sprintf "exec sp_executesql N'SELECT CAST(@Date AS DATE), CAST(@Number AS INT)',N'@Date Date,@Number Int',@Date=N'%s',@Number=N'%d'" universalPrintedNow num
95
95
letcmd=new SqlCommandProvider<"SELECT CAST(@Date AS DATE), CAST(@Number AS INT)", ConnectionStrings.AdventureWorksNamed, ResultType.Tuples>()
96
96
Assert.Equal<string>(
97
97
expected,
98
98
actual = cmd.ToTraceString( now, num)
99
99
)
100
100
101
-
letrunString query =
101
+
letrunScalarQuery query =
102
102
use conn =new SqlConnection(ConnectionStrings.AdventureWorks)
103
103
conn.Open()
104
104
use cmd =new System.Data.SqlClient.SqlCommand()
105
105
cmd.Connection <- conn
106
106
cmd.CommandText <- query
107
-
cmd.ExecuteNonQuery()
107
+
cmd.ExecuteScalar()
108
108
109
109
[<Fact>]
110
110
let``ToTraceString for dates``()=
111
111
letcmd=new SqlCommandProvider<"SELECT CAST(@Date AS DATE)", ConnectionStrings.AdventureWorksNamed>()
0 commit comments