PB语言如何解析一个以TAB分割的文本文件,并把文件内容读取到SQL Server数据库中 希望能给出代码,谢谢

PB语言如何解析一个以TAB分割的文本文件,并把文件内容读取到SQL Server数据库中 希望能给出代码,谢谢,第1张

1 最简单的方法,用datawindow将数据倒入,然后再逐一处理。具体就是建一个字段数量和类型与要倒入的文件中字段相同的dw,然后dw_1importfile('文件路径+文件名')

2使用fileopen() 打开文件,然后用filewrite() 逐一写入每一行数据, 定位tab (~t)

如:

do while pos(ls_str,'~t') >0

ls_ret[i] = mid(ls_str,1,pos(ls_str,'~t') -1)

ls_str = mid(ls_str,pos(ls_str,'~t') +1)

i ++

loop

我的数据库表很多,数据量也很多,每个表大概有60W条左右,要想一次在一个数据窗口中显示太慢了。所以考虑当显示条数超过5W条我就提示用户做查询,现在考虑使用setfilter或者setsqlselect中的一个,优先考虑setfilter,但是它过滤的只是当前窗口中的,很明显我想要从所有的数据中过滤,但是又不想让所有数据都在datawindow中显示。用setsqlselect是要根据我datawindow中字段做出选择的,感觉有点麻烦。不知道还有什么其他办法?

------解决方案--------------------------------------------------------记录太多,还可以考试 select top :n

其中N可以做成retrieve参数传入的

------解决方案--------------------------------------------------------用setsqlselect,根据条件先select count()看下有多少条记录,这样好判断些

它先把全部数据都取出来,对你减少数据量是一点帮助也没有!

要用retrieve()

按需要提取数据设置,显示多少就取多少!

rows->retrieve options->rows as needed

------解决方案--------------------------------------------------------根据查询条件拼接SQL,然后setsqlselect,retrieve

------解决方案--------------------------------------------------------肯定要用setsqlselect,只是麻烦一点,不是太难

探讨我的数据库表很多,数据量也很多,每个表大概有60W条左右,要想一次在一个数据窗口中显示太慢了。所以考虑当显示条数超过5W条我就提示用户做查询,现在考虑使用setfilter或者setsqlselect中的一个,优先考虑setfilter,但是它过滤的只是当前窗口中的,很明显我想要从所有的数据中过滤,但是又不想让所有数据都在datawindow中显示。用setsqlselect是要根据我datawi�0�3�0�2

------解决方案--------------------------------------------------------用setsqlselect吧,不要嫌麻烦,呵呵

用拼写where 条件的方法以下是思路和例子

思路:首先得到数据窗口的原始数据源sql语句譬如你要对dw_1的数据进行多条件过滤就在事件中写:

string ls_sql

ls_sql = dw_1getsqlselct()//此时ls_sql变量得到dw_1的sql语句

然后将条件拼成一个and 语句 例子:

譬如年龄字段,性别字段和班级字段(这只是个例子,希望你能明白意思,然后为你所用)

分别为age,sex,class

此时用户已经选完了这三个条件的值(此处可以多种方法实现1让用户直接输入。单行编辑框 2。多选框。3下拉列表框等等)

譬如用户选择的是age = 24,sex = 1(1-为男,0为女),class = 2

此时拼串!

例子:

string ls_sql,ls_sql_new,ls_condition

string ls_age,ls_sex,ls_class

ls_sql = dw_1getsqlselect()//得到默认的数据窗口sql语句。

ls_age = '24'

ls_sex ='1'

ls_class ='2'

ls_condition =" age='"+ls_age+"' and sex = '"+ls_sex +"' and class = '"+ls_class+"'"//条件拼写完成

ls_sql_new = ls_sql +" where "+ ls_condition //这里注意拼写的时候where 后面 and 前后都要加个空格!

dw_1setsqlselect(ls_sql_new)//将拼成的串 设置成新的数据窗口sql语句 此时就是多个过滤条件的结果!

以上就是关于PB语言如何解析一个以TAB分割的文本文件,并把文件内容读取到SQL Server数据库中 希望能给出代码,谢谢全部的内容,包括:PB语言如何解析一个以TAB分割的文本文件,并把文件内容读取到SQL Server数据库中 希望能给出代码,谢谢、数据窗口setfilter和setsqlselect使用,该如何解决、关于pb多条件过滤的问题,急!!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10142856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存