求助:vfp表中的数据更新到SQL中

sdsthgt 2012-02-24 10:13:38
SQL数据库CZ 中的 qingdan 表字段类型
xh varchar 12
rq datetime 8
sj datetime 8
jieshoudw char 40
leibie varchar 40
zhl float 8

vfp9 qingdan.dbf 表为
xh C 12
rq D
sj T
jieshoudw C 40
leibie C 40
zhl N 8,2

如何把vfp中的1000多条数据 追加到SQL表中呢?我以前会的,时隔3、4年动过VFP了,语言忘得差不多了,现在急用,希望给予帮助。万分感谢。

如果时间来得及,我会自己研究透的,现在时间很紧张,所以想用个现成的,谢谢。


...全文
316 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
longspring 2012-03-03
  • 打赏
  • 举报
回复
可以将原表增加一个状态标志,以前的数据默认置为0,新加的数据为非0,然后通过循环或xml数据一次导入,当然导入的办法有很多。
十豆三 2012-02-25
  • 打赏
  • 举报
回复
*-- 建议 SQL 表 qingdan 中
rq datetime 8
sj datetime 8
*-- 改为
rq varchar 10
sj varchar 19

*-- 将 dbf 表 qingdan.Dbf 的记录追加到 SQL 表 qingdan 中的代码如下
*-- vfp 代码
Set Century On
Set Date YMD
Set Mark To '-'
Set Hours To 24
gnConnHandle=Sqlstringconnect("DRIVER=Sql Server;SERVER=计算机名或IP地址;UID=用户名;PWD=密码;DATABASE=数据库名")
If gnConnHandle<=0
Messagebox("连接数据库失败!")
Return
Endif
Use qingdan.Dbf
Scan
=SQLExec(gnConnHandle,"Insert Into qingdan (xh,rq,sj,jieshoudw,leibie,zhl) Values (?xh,?rq,?sj,?jieshoudw,?leibie,?zhl)")
Endscan

*-- 另外你说的追加错了,意思有的记录不要,不要就删除不要的记录即可。
*-- 删除 SQL 表 qingdan 中的记录
=SQLExec(gnConnHandle,"Delete From qingdan Where xh='具体的值'")
*-- 注意 xh 字段必须不重复的,不然删除时就无法保证删除的是你想删除的那条。如果此字段是重复的,请选一个不重复的字段来做关键字段,也可以另加一个关键字段。
十豆三 2012-02-25
  • 打赏
  • 举报
回复
帖其中一个:
=sqlexec(连接句柄,"backup database 数据库名称 to disk='盘符:\路径\备份名称.bak' with init ") &&覆盖式备份

=sqlexec(连接句柄,"restore database 数据库名称 from disk='盘符:\路径\备份名称.bak'") &&恢复
十豆三 2012-02-25
  • 打赏
  • 举报
回复
关于 SQL 数据库备份及还原网上很多的。
sdsthgt 2012-02-25
  • 打赏
  • 举报
回复
谢谢帮主,前提是SQL 表不能动,因为,SQL中的表正常使用中,我不熟练的地方就是怎么数据转换?我在线等。
另外,为防止数据错误,请帮我怎么备份、恢复SQL的数据库操作。万分感谢。
sdsthgt 2012-02-24
  • 打赏
  • 举报
回复
另问以下,如何备份SQL 中的数据表,如果追加错了,怎么恢复回来,我新追加的数据做个标记,用完之后,再把这些数据删除,编写代码,万分感谢。如果我有时间,我回重新学习以下,周一有来看报告的,来不及研究了,希望高手,编写下代码,包括连接SQL,不备份数据,追加记录更新SQL表,恢复原状。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧