51Testing软件测试论坛

标题: SilkTest系列---中级篇(.NET Script)之ODBC连接SqlServer [打印本页]

作者: 沅芷湘兰    时间: 2013-8-16 15:13
标题: SilkTest系列---中级篇(.NET Script)之ODBC连接SqlServer
本帖最后由 沅芷湘兰 于 2013-8-16 15:16 编辑

在自动化测试过程中,经常会出现要连接数据库并对数据进行读写等,那我们今天就一起来看看在.NET Script中是如何进行数据操作的。
连接前提条件:
1.        先建立ODBC源的连接,如下图所示:
[attach]86871[/attach]
至于这个配置过程大家可以参考“SilkTest系列---中级篇(.NET Script)之框架管理(一)(ODBC配置)”,写得很详细,在这里就不赘述了。
2.        在.NET Script脚本中导入外部库并引入库文件
该部分的配置请大家参考“SilkTest系列---中级篇(.NET Script)之外部库文件导入”。
3.        在Sqlserver中数据准备,如下图所示:
[attach]86872[/attach]

下面附上脚本片断进行交流:
加载Data外部库
Imports System.Data.Odbc
Imports System.Data.SqlClient

输入登录信息,此处的"silktestsql"为建立的ODBC源的连接名称,UID和PWD相信大家都懂的
myConn.ConnectionString = "DSN=silktestsql;UID=sa;PWD=51testing"
打开连接
myConn.Open()

建立操作
Dim comm = New OdbcCommand(sql, myConn)

执行操作
dr = comm.ExecuteReader()

读取数据
dr.Read()

输出第一个值
dt = dr.GetValue(0).ToString()
System.Console.WriteLine(dt)

输出第二个值
dt1 = dr.GetValue(1).ToString()
System.Console.WriteLine(dt1)

关闭并注销连接
dr.Close()
dr = Nothing
comm.cancel()
comm =  Nothing
myConn.close()
myConn = Nothing

查询结果如下:
[attach]86872[/attach]
SilkTest输出结果如下:
[attach]86873[/attach]

附上完整的代码:
Imports SilkTest.Ntf.XBrowser
'加载Data外部库
Imports System.Data.Odbc
Imports System.Data.SqlClient

Public Module Main
        Dim _desktop As Desktop = Agent.Desktop
        Dim variable As String
        Dim dt As String
        Dim dt1 As String

        Public Sub Main()
               
                Dim myConn As New OdbcConnection
                Dim dr As OdbcDataReader
                Dim sql = "SELECT TOP 1000 [TPID],[TPSECURITYFLAGS] FROM [silktestsql].[dbo].[STW_PROJECTS]"
               
                Try
                        '输入登录信息,此处的"silktestsql"为建立的ODBC源的连接名称,UID和PWD相信大家都懂的
                        myConn.ConnectionString = "DSN=silktestsql;UID=sa;PWD=51testing"
                        '打开连接
                        myConn.Open()
                        Catch ex As Exception
                                MsgBox ("Error while connecting to SQL Server:  " & ex.Message, vbOkOnly)
                End Try
                '建立操作
                Dim comm = New OdbcCommand(sql, myConn)
                '执行操作
                dr = comm.ExecuteReader()
                '读取数据
                dr.Read()
               
                '输出第一个值
                dt = dr.GetValue(0).ToString()
                System.Console.WriteLine(dt)
               
                '输出第二个值
                dt1 = dr.GetValue(1).ToString()
                System.Console.WriteLine(dt1)
               
                '关闭并注销连接
                dr.Close()
                dr = Nothing
                comm.cancel()
                comm =  Nothing
                myConn.close()
                myConn = Nothing
        End Sub
End Module
作者: yong_sun    时间: 2014-3-4 22:46
还是不够智能




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2