手机版

发布sqlserver批量数据替换助手1.0版

时间:2021-10-17 来源:互联网 编辑:宝哥软件园 浏览:

这种方法操作繁琐,对于不太了解数据库的人来说比较困难。我萌生了写一个小程序的想法。经过两天的折腾,这个小软件终于和大家见面了。我希望你能给我更多关于童鞋的建议。说到这里,我们先来看看界面。

现在就来说说这个小程序的开发思路吧。第一步:通过sp_helpdb系统存储过程得到数据库中的所有数据库名称。复制代码代码如下: #地区测试数据库连接,并显示数据库列表///摘要///测试数据库连接,并显示数据库列表////summary////param name=' sender '/param///param name=' e '/param private void btnTest _ Click(对象发件人,事件参数e){ this。btnTest。enabled=false保存配置();配置信息服务器=这个。txtip。文字。trim();配置信息数据库=' master '配置信息UID=这个。txtuid。文字。trim();配置信息pwd=这个。txtpwd。文字。trim();尝试{数据表dt=数据.SqlHelper。执行数据集(configinfo。getconnect()、CommandType .文本",sp_helpdb ").表[0];这个。招商银行数据库列表。数据源=dt这个。招商银行数据库列表。显示成员=' name这个。招商银行数据库列表。selectedindex=0;这个。招商银行数据库列表。DropDownstyle=combobox style .控件这个。启用=真;} catch(异常ex) { this .ExecuteFilterBtn。Enabled=false消息框。显示(字符串。格式('错误:{0}!前。消息),"错误提示,消息框按钮。好的,消息框图标。错误);}最后{这个。btntest。enabled=true} } #endregion第二步:当选择某个数据库时得到数据库里面的所有表信息,通过下面结构化查询语言语句就可以查询到了从系统对象中选择[姓名],其中xtype='u '按[名称] asc排序复制代码代码如下: #地区当选择不同的数据库时,读取数据库的表信息///摘要///当选择不同的数据库时,读取数据库的表信息////summary////param name=' sender '/param///param name=' e '/param private void combobox 1 _ SelectedIndexChanged(对象发件人,事件参数e){ this。chkboxtablelist。物品。clear();配置信息。数据库=((DataRowView)这。CMB数据库列表。SelectEditem)[' name '].ToString();数据集ds=数据SqlHelper。执行数据集(configinfo。getconnect()、CommandType .文本,”从系统对象中选择[姓名],其中xtype='u '按[名称] asc排序');foreach(ds中的记录行。表[0]。行){这个。chkboxtablelist。物品。添加(行['name'].ToString());} } #endregion第三步:当点击替换按钮时获取被选中表的信息,并遍历表中的行列信息,并进行查找替换。

复制代码代码如下: #地区执行批量替换操作///摘要///执行批量替换操作////summary////param name=' sender '/param///param name=' e '/param private void ExecuteFilterBtn _ Click(对象sender,EventArgs e){ save config();total=0;如果(这个。chkboxtablelist。检查骰子。计数==0)返回;//没有选中任何表的情况如果(这个。txtsearchkey。文字。trim()==' '){ DialogResult result=MessageBox .显示('当前查找内容为空,确认此操作?', '提示,消息框按钮。是否,消息框图标。问题,消息框默认按钮。按钮1);if(结果==DialogResult .否)返回;}这个ExecuteFilterBtn .Enabled=falselistTableInfo tabList=new listTableInfo();字符串搜索字符串=这个。txtsearchkey。文字。trim()==' '?':这个。txtsearchkey。文本;string RePlaceString=this。txtrepleStr。文本;键类型kt=这个。chkisregex。选中==真?按键类型.Regex : KeyType .文字;bool isRegex=this。chkisregex。已检查;//得到被选中表的基本信息,并添加到集合中foreach(这个。chkboxtablelist。检查骰子中的(同Internationalorganizations)国际组织索引){ string tabName=this。chkboxtablelist。项目[索引].ToString();TableInfo tInfo=筛选器信息。inittableinfo(Tabname);if(TinFo==null){ continue;} tabList .添加(tInfo);}尝试{ if (tabList .计数==0)返回;//没有符合检测的数据表pBar1 .可见=真;pBar1 .最小值=1;pBar1 .max=tabList .计数;pBar1 .值=1;pBar1 .step=1;//循环过滤表中要替换的数据foreach(TableList中的TableInfo){ FilterInfo .执行(信息、搜索字符串、替换字符串、kt);pBar1 .执行步骤();//进度条} } catch(Exception ex){ MessageBox .显示(字符串。格式('异常:{0} ',例如。消息),"错误,消息框按钮。好的,消息框图标。错误);返回;}最后{这个。启用=真;}消息框.显示(字符串。格式('数据替换完毕,共有{0}行数据被修改!',总计),'消息,消息框按钮。好的,消息框图标。信息);} #endregion以上就是整个大致思路,详情可以参看源代码。附带一些操作截图,希望大家可以看的更清楚一些

这是注入的数据,当然现实中会有差异。

编写搜索内容并启用常规匹配。

哈哈,数据终于恢复原貌了!源程序的下载地址

版权声明:发布sqlserver批量数据替换助手1.0版是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。