1) VB生成sql文件
VB为指定的表sqlName,动态产生创建触发器gps_insert的sql文件,输出到指定目录文件sqlFile中。
Public Sub CreateSQLScriptFile(sqlFile As String, sqlName As String)
Dim sql As String
Open sqlFile For Output As #1 ' 打开输出文件。
Print #1, "if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[gps_insert]') and OBJECTPROPERTY(id, N'IsTrigger') = 1)"
Print #1, "drop trigger [dbo].[gps_insert]"
Print #1, "GO"
Print #1, "SET QUOTED_IDENTIFIER OFF"
Print #1, "GO"
Print #1, "SET ANSI_NULLS OFF"
Print #1, "GO"
Print #1, "CREATE TRIGGER gps_Insert"
Print #1, "ON "; sqlName
Print #1, "FOR INSERT"
Print #1, "AS"
Print #1, "BEGIN"
Print #1, "declare @gpsvid varchar(50)"
Print #1, "declare @gpsmobile varchar(50)"
Print #1, "declare @gpsdate varchar(50)"
Print #1, "declare @gpstime varchar(50)"
Print #1, "declare @gpsdata varchar(50)"
Print #1, "SET NOCOUNT ON"
Print #1, "select @gpsmobile =[f1],"
Print #1, " @gpsvid=[f2],"
Print #1, " @gpsdate=[f],"
Print #1, " @gpstime=[f4],"
Print #1, " @gpsdata=[f5]"
Print #1, " FROM a AS P INNER JOIN Inserted AS I"
Print #1, " ON P.f1 = I.f1"
Print #1, " exec gps_datatrans gpsvid,@gpsmobile,@gpsdate,@gpstime,@gpsdata"
Print #1, " End"
Print #1, " GO"
Print #1, " SET QUOTED_IDENTIFIER OFF"
Print #1, " GO"
Print #1, " SET ANSI_NULLS ON"
Print #1, " GO"
Close #1 ' 关闭文件。
End Sub
2)主要函数
VB读写文件要用到以下语句:
1、Open语句打开文件。
2、读文件使用Line Input、Input #,(以上为文本方式)和Get(以上为二进制方式)。
3、写文件使用Print #、Write(以上为文本方式)和Put(以上为二进制方式)。
4、Close语句关闭文件
5、二进制方式下移动文件位置使用Seek语句。
文本文件的示例:
Open "test.txt" For Output As #1 ' 打开输出文件。
Print #1, "This is a test" ' 将文本数据写入文件。
Print #1, ' 将空白行写入文件
1、Open语句打开文件。
2、读文件使用Line Input、Input #,(以上为文本方式)和Get(以上为二进制方式)。
3、写文件使用Print #、Write(以上为文本方式)和Put(以上为二进制方式)。
4、Close语句关闭文件
5、二进制方式下移动文件位置使用Seek语句。
文本文件的示例:
Open "test.txt" For Output As #1 ' 打开输出文件。
Print #1, "This is a test" ' 将文本数据写入文件。
Print #1, ' 将空白行写入文件
Print #1, "tt"; Tab ; "tt" ' 数据写入两个区中间间隔tab。
Print #1, "a"; " " ; "b" ' 以空格隔开两个字符串。
Print #1, Spc(2) ; "2 spaces " ' 在字符串之前写入2个空格。
Print #1, Tab(5) ; "Hello" ' 将数据写在第5列。
Close #1 ' 关闭文件。
读文件示例
使用 Line Input # 语句从顺序文件中读入一行数据,并将该行数据赋予一个变量。本示例假设 TESTFILE 文件内含数行文本数据。
Open " test.txt " For Input As #1 ' 打开文件。
Do While Not EOF(#1) ' 循环至文件尾。
Line Input #1, strLine ' 读入一行数据并将其赋予某变量。
Debug.Print strLine ' 在调试窗口中显示数据。
Loop
Close #1 ' 关闭文件。
Print #1, "a"; " " ; "b" ' 以空格隔开两个字符串。
Print #1, Spc(2) ; "2 spaces " ' 在字符串之前写入2个空格。
Print #1, Tab(5) ; "Hello" ' 将数据写在第5列。
Close #1 ' 关闭文件。
读文件示例
使用 Line Input # 语句从顺序文件中读入一行数据,并将该行数据赋予一个变量。本示例假设 TESTFILE 文件内含数行文本数据。
Open " test.txt " For Input As #1 ' 打开文件。
Do While Not EOF(#1) ' 循环至文件尾。
Line Input #1, strLine ' 读入一行数据并将其赋予某变量。
Debug.Print strLine ' 在调试窗口中显示数据。
Loop
Close #1 ' 关闭文件。