vb 将txt文本内容按格式导入到sql server2005数据库中 140
数据库中表字段为时间标题内容txt文件内容格式:时间:2013-1-1类型:11标题:xxxx内容:xxxxxxxxx(完)时间:2013-1-3类型:19标题:xxxx...
数据库中表字段为 时间 标题 内容
txt文件内容格式:
时间:2013-1-1
类型:11
标题:xxxx
内容:
xxxxxxxxx
(完)
时间:2013-1-3
类型:19
标题:xxxx
内容:
xxxxxxxxx
(完)
时间:2013-1-8
类型:55
标题:xxxx到底
内容:
xxxxxxxxx
(完)
......功能实现:只需将文本中按时间,标题,内容导入到数据库表中。txt文本中内容每一部分到(完)结束为一条记录。时间的内容为冒号后面,标题的内容为冒号后面,内容为冒号后面至(完)前。
要vb代码,弄好后还有分!
高手请进!!! 展开
txt文件内容格式:
时间:2013-1-1
类型:11
标题:xxxx
内容:
xxxxxxxxx
(完)
时间:2013-1-3
类型:19
标题:xxxx
内容:
xxxxxxxxx
(完)
时间:2013-1-8
类型:55
标题:xxxx到底
内容:
xxxxxxxxx
(完)
......功能实现:只需将文本中按时间,标题,内容导入到数据库表中。txt文本中内容每一部分到(完)结束为一条记录。时间的内容为冒号后面,标题的内容为冒号后面,内容为冒号后面至(完)前。
要vb代码,弄好后还有分!
高手请进!!! 展开
展开全部
open "c:\1.txt" for input as #1
open "c:\中间结果.txt" for append as #2
s=""
do
if eof(1) then exit do
line input #1,a
if instr(a,":")>0 then
s=s & a & vbtab
else
if a=" (完)" then
print #2,s
s=""
else
s=s & a
endif
endif
loop
close #1
close #2
以上中间结果.txt生成后直接导入到数据库里就OK了。
更多追问追答
追问
k是什么值?
追答
上面的代码生成的是以Tab分隔的文本。
你可以用SQLserver2005的文本导入工具导入这个文本文件到数据表里。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码就不写了,给你个思路。
用正则提取出三项内容到数组中,然后将数组内容写入数据库文件中即可。
用正则提取出三项内容到数组中,然后将数组内容写入数据库文件中即可。
追问
高手,请写写代码
追答
代码就不写了,也不复杂的事,只是正则那有点复杂,我给你个我修改的正则调用函数,你自己写吧。可以检测是否有指定正则字串、替换、提取,没有详细的解释,自己理解吧。
'============================
'正则表达式
'调用格式 RegExp(源数据 As String, 正则式 As String, 标志位 As String = gimstr, 替换数据 As String, 匹配序数 As Integer)
'g 全局搜索 i 区分大小写 m 支持换行符 s 匹配子项 t 匹配测试 r 匹配替换
'例如 MsgBox RegExp("IS1 is2 IS3 is4", "is", "gir", "是")
'============================
Private Function RegExp(ByVal regString$, ByVal regPattern$, Optional regMark$ = "gims", Optional regRepString$, Optional regIndex%) As String
If ((regString = "") Or (regPattern = "")) Then RegExp = "": Debug.Print "数据不能为空": Exit Function
Dim RetStr As String, objRegExp As Object, colMatch, colMatches, i As Integer
'Create objects
Set objRegExp = CreateObject("VBScript.RegExp")
' 正则式
objRegExp.Pattern = regPattern
' 是否区分大小写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打开文档,逐行扫描;提取行头关键字;
当扫描到(完)时,作为数据库中一行记录的完毕;
没有简单的办法,只能这样做...
需要做的话,你把你的txt文件发送到wayne.lkk@qq.com邮箱;
当扫描到(完)时,作为数据库中一行记录的完毕;
没有简单的办法,只能这样做...
需要做的话,你把你的txt文件发送到wayne.lkk@qq.com邮箱;
追问
好的,,我发给你了 ,你查收下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问
求代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按:这个号分隔一下,读取再插入到数据库中。
追问
代码?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询