
你可以在 commit之前 加一句,看看错误说明,排查错误
IF SQLCA.SQLCode = -1 THEN MessageBox("SQL error", SQLCA.SQLErrText)
然后你的保存和获取的代码是一样的
还有就是,PB数据库的 *** 作,用数据库窗口(datawindow)设计会比较方便,同样的效果,只需要一个 freeform的数据库窗口加上简单的update(),retrieve() 函数就可以完成了,不需要一个一个sle框取 *** 作,你如果列在多一些,效率更明显
可以用动态的数据窗口来实现将数据表中的信息存放到文本文件和dbf文件进行备份,然后再进行导入即数据恢复。具体的做法为:1、在窗口中添加一个数据窗口控件,如数据窗口控件命名为dw_pip
2、在窗口中添加一个名为SAVE的保存按钮。在SAVE按钮中添加程序如下:
string sql_syntax,dwsyntax_str
string errors,S_filnam
string table_name
//编写数据查寻条件
sql_syntax=查询条件
//检索数据窗口内容
dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax,"style(type=grid)" , ERRORS)
dw_pip.Create(dwsyntax_str, ERRORS)
dw_pip.SetTransObject(SQLCA)
dw_pip.retrieve()
S_filnam="d:\del\test_del.txt" //要存放的文件名(自己可以设定,但必须保证该路径存在),若存为dbf类型,则将.txt后缀改为.dbf后缀
dw_pip.SaveAs(S_filnam, Text! , FALSE)
3、在窗口中添加名为import导入按钮,在本按钮中添加以下程序
string sql_syntax,dwsyntax_str
string errors,S_filnam
sql_syntax =要插入的数据表检索条件
dwsyntax_str = SQLCA.SyntaxFromSQL(sql_syntax,"style(type=grid)" , ERRORS)
dw_pip.Create(dwsyntax_str, ERRORS)
dw_pip.SetTransObject(SQLCA)
dw_pip.retrieve()
//导入文件内容
ii=dw_pip.ImportFile("D:\del\test_del.TXT") //文件名为SAVE按钮中生成的文件名
dw_pip.update(true,true)
4、结束,调试运行
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)