TXT文件和sql server中数据比较
是一个银行转帐报盘程序,打开一个TXT文件根据条件生成相应格式的TXT,现在想加入先和数据库中某个字段比较,如果数据库中有这个卡号就不生成到TXT中。
每天的TXT文件内容都不一样,如文件内容为:
GCCD 006CBC62 3818529980130070789 520005992008090900000000000147400
GCCD 006CBC62 6227003813030099382 520005822008090900000000000063000
GCCD 006CBC62 5240945023823011 520005402008090900000000000552000
GCCD 006CBC62 6227003811550123095 520004072008090900000000000062100
....
sql server信息:
服务器:gcshuju
库:gcagy
表:cbcacc 字段:code(卡),name(姓名),date(时间)
ID 和 密码都是 SA
原程序如下:Public Sub DLO2BANK(StrSrcfile As String)
Dim blexist As Boolean
strline = ""
Dim stragt As String
Dim strBank As String
Dim strAccount As String
Dim strPolNum As String
Dim strduedate As String
Dim strAmount As String
Dim strcltname As String
Dim strfileexist(36) As String
Dim Caseamount As Currency
Dim strOutFile As String
Dim fileindex As Integer
Dim strInsured As String
Dim strInsured1 As String
Dim i As Integer
i = 0
Dim stragtrec As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Set cn = New ADODB.Connection
Dim cobj As gc.UtilClass
Set cobj = New gc.UtilClass
Dim SQLKey() As String
SQLKey = cobj.GetPW("Conn400")
Dim constring As String
Dim constringSql As String
Dim stricbc As String
Dim strboc As String
Dim StrCBCAccountNo As String
Dim cnsql As ADODB.Connection
Dim rsba1 As ADODB.Recordset
Dim rsba2 As ADODB.Recordset
Dim rsba3 As ADODB.Recordset
Dim rsba4 As ADODB.Recordset
Dim strcampaign As String
Dim strotlbank As String
constring = "DSN=as400;UID=" & SQLKey(0) & ";PWD=" & SQLKey(1)
Dim SqlServerKey() As String
SqlServerKey = cobj.GetPW("ConnSQL")
constringSql = "DSN=GCIT;UID=" & SqlServerKey(0) & ";pwd=" & SqlServerKey(1) & ";database=gcit"
Set cobj = Nothing
cn.ConnectionString = constring
cn.Open
Set rs = New ADODB.Recordset
rs.ActiveConnection = cn
Set rsba3 = New ADODB.Recordset
rsba3.ActiveConnection = constring
.....
blexist = False
Dim blexist_ccb_account As Boolean
Dim blexist_ccb_card As Boolean
blexist_ccb_account = False
blexist_ccb_card = False
Open StrSrcfile For Input As #1
Do Until EOF(1)
Line Input #1, strline
strBank = MidX(strline, 11, 10)
If MidX(strBank, 4, 3) = "CBC" Then
StrCBCAccountNo = MidX(strline, 31, 19)
If MidX(StrCBCAccountNo, 1, 4) = "4367"
Open "S2CCB_LOGIN" & CStr(Year(Date) * 10000 + Month(Date) * 100 + Day(Date)) & ".TXT" For Append As #4
strAccount = MidX(strline, 31, 19)
strPolNum = MidX(strline, 51, 8)
strduedate = MidX(strline, 59, 8)
strAmount = Format(MidX(strline, 67, 17) / 100, "####0.00")
rs.Source = "select bankaccdsc from clbl where bankacckey = '" & strAccount & "'"
rs.Open
Set cnsql = New ADODB.Connection
cnsql.Open constringSql
Print #4, Trim(strAccount) & "|" & Trim(rs.Fields("bankaccdsc")) & "|"
...
万分感谢