A
admin2008
Unregistered / Unconfirmed
GUEST, unregistred user!
我想更新Sqlserver的数据库,在公司写完程序并把本地sql数据库更新了(比如在数据库中加入了新表或者改表中字段名,新增/删除字段,或是视图 存储过程等),然后得到很多客户那里去更新数据库,这样就觉很麻烦,我想做一个自动升级数据库的工具,请问怎么去实现呢。<br>我有这样做就是把视图或存储过程保存为.sql类型的文件 代码是这样的 <br>procedure TForm1.BitBtn2Click(Sender: TObject);<br>begin<br>if trim(label5.Caption)='' then<br> begin<br> messagebox(Handle,'请您先连接服务器!','提示',MB_ICONINFORMATION);<br> exit;<br> end;<br>memo1.Lines.Clear ;<br>memo1.Lines.LoadFromFile(GetCurrentDir+'/date/v_jxc_over.sql');<br>updatedate;<br>memo1.Lines.Clear ;<br>memo1.Lines.LoadFromFile(GetCurrentDir+'/date/jxc_over_cargo_cost.sql');<br>updatedate;<br>memo1.Lines.Clear ;<br>memo1.Lines.LoadFromFile(GetCurrentDir+'/date/v_type_detail.sql');<br>memo1.Lines.Clear ;<br>memo1.Lines.LoadFromFile(GetCurrentDir+'/date/yaoid.sql');<br>updatedate;<br>with adoquery1 do<br> begin<br> close;<br> sql.Clear ;<br> sql.Text:='alter table OUTHEAD add ZY_FS Float null';<br> ExecSQL ;<br> end;<br>showmessage('数据升级成功!');<br>end;<br>不过这样存在一个问题 当数据库有存在这个字段或是视图,存储过程 就出错 我认为我这个方法总觉得不对