您的位置:首页 > 数据库

VFP调用Sql Server的更新语句(通用类)!

2012-09-16 13:11 155 查看
* ----------------------------------------------------------------------- \\ sql_update

m_dbf1='sys_menu'          && \\ 更新表名
m_name=''
m_where='where id=?n_id'   && \\ 更新的条件
m_count=1  && \\ 更新个数
m_info=0   && \\ 是否有更新成功提示

x1='name'  && \\ 远程表字段
y1=mm_text && \\ 字段变量内容
SELECT menu
do cx\sql_update
thisform.retu

SELECT menu
REPLACE name WITH mm_text  && \\ 替换本地表内容


* ------------------------------------------------------------------------------------------- \\ 更新数据库通用程序

m_up=''
f=0

DO whil f<m_count

f=f+1
ff=ALLTRIM(STR(f))

m_up=m_up+x&ff+"=?"+"y&ff"+','

ENDDO
m_up=SUBSTR(m_up,1,LEN(m_up)-1)
m_sql="update "+m_dbf1+" set "+m_up+" "+m_where  && \\ sql语句 where role_id

TRY
*   STRTOFILE(m_sql ,sssa)
CATCH
ENDTRY

m_retu=0
IF SQLEXEC(gnMyLogHandle,m_sql) = -1
m_retu=1
AERROR( laError )
MESSAGEBOX( '读取数据库错误提示:' + ALLTRIM(STR(laError[ 1 ]))  + CHR( 13 ) +laError[ 2 ])
ENDIF

* ------------------------------------------------------------------------------------------- \\ 检查是否出错

IF m_retu=1

MESSAGEBOX(m_sql)
STRTOFILE(m_sql ,"c:\Error.TXT")
MESSAGEBOX('请注意:系统在【更新】数据【'+m_name+'】时,发生错误,请检查网络是否畅通或与系统管理员联系!'+m_message,48,m_message1)
RETURN

ENDIF

* ------------------------------------------------------------------------------------------- \\ 检查是否出错

try

IF m_info=1

MESSAGEBOX('数据更新成功!请返回!'+m_message,48,m_message1,1000)
m_info=0

ENDIF
CATCH
ENDTRY
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: