好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > sqlserver 批量數據替換助手V1.0版發布

sqlserver 批量數據替換助手V1.0版發布

熱門標簽:凱立德地鐵站地圖標注 銀行信貸電話機器人 溫州外呼系統招商 上海400客服電話怎么申請 400電話個人能不能辦理 天津電銷外呼系統違法嗎 手機外呼系統什么原理 滄州電銷外呼系統價格 合肥ai電銷機器人費用
這種方法操作繁瑣,而且一般不是很懂數據庫的人很難操作。于萌發了要寫一個小程序的念頭,經過兩天時間的折騰這個小軟件終于和各位見面了,希望各位童鞋多給點意見。說了這么些之后還是先上界面吧,^..^

現在就來說說這個小程序的開發思路吧。
第一步:通過 sp_helpdb系統存儲過程得到SqlServer中的所有數據庫名稱。

復制代碼 代碼如下:

#region 測試數據庫連接,并顯示數據庫列表
/// summary>
/// 測試數據庫連接,并顯示數據庫列表
/// /summary>
/// param name="sender">/param>
/// param name="e">/param>
private void btnTest_Click(object sender, EventArgs e)
{
this.btnTest.Enabled = false;
saveConfig();

ConfigInfo.Server = this.txtIP.Text.Trim();
ConfigInfo.DataBase = "master";
ConfigInfo.UID = this.txtUID.Text.Trim();
ConfigInfo.Pwd = this.txtPwd.Text.Trim();

try
{
DataTable dt = Data.SqlHelper.ExecuteDataset(ConfigInfo.getConnect(), CommandType.Text, "sp_helpdb").Tables[0];

this.cmbDataBaseList.DataSource = dt;
this.cmbDataBaseList.DisplayMember = "name";
this.cmbDataBaseList.SelectedIndex = 0;
this.cmbDataBaseList.DropDownStyle = ComboBoxStyle.DropDownList;

this.ExecuteFilterBtn.Enabled = true;
}
catch (Exception ex)
{
this.ExecuteFilterBtn.Enabled = false;
MessageBox.Show(string.Format("錯誤:{0}!",ex.Message),"錯誤提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
this.btnTest.Enabled = true;
}
}
#endregion


第二步:當選擇某個數據庫時得到數據庫里面的所有表信息,通過下面Sql語句就可以查詢到了。
select [name] from sysobjects where xtype='u' order by [name] asc

復制代碼 代碼如下:

#region 當選擇不同的數據庫時,讀取數據庫的表信息
/// summary>
/// 當選擇不同的數據庫時,讀取數據庫的表信息
/// /summary>
/// param name="sender">/param>
/// param name="e">/param>
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.chkboxTableList.Items.Clear();
ConfigInfo.DataBase = ((DataRowView)this.cmbDataBaseList.SelectedItem)["name"].ToString();
DataSet ds = Data.SqlHelper.ExecuteDataset(ConfigInfo.getConnect(), CommandType.Text, "select [name] from sysobjects where xtype='u' order by [name] asc");

foreach (DataRow row in ds.Tables[0].Rows)
{
this.chkboxTableList.Items.Add(row["name"].ToString());
}
}
#endregion


第三步:當點擊替換按鈕時獲取被選中表的信息,并遍歷表中的行列信息,并進行查找替換。

復制代碼 代碼如下:

#region 執行批量替換操作
/// summary>
/// 執行批量替換操作
/// /summary>
/// param name="sender">/param>
/// param name="e">/param>
private void ExecuteFilterBtn_Click(object sender, EventArgs e)
{
saveConfig();
total = 0;
if (this.chkboxTableList.CheckedIndices.Count == 0) return; //沒有選中任何表的情況
if (this.txtSearchKey.Text.Trim() == "")
{
DialogResult result = MessageBox.Show("當前查找內容為空,確認此操作?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (result == DialogResult.No) return;
}

this.ExecuteFilterBtn.Enabled = false;

ListTableInfo> tabList = new ListTableInfo>();
string searchString = this.txtSearchKey.Text.Trim() == "" ? " " : this.txtSearchKey.Text;
string replaceString = this.txtReplaceStr.Text;
KeyType kt = this.chkIsRegex.Checked == true ? KeyType.Regex : KeyType.Text;
bool isRegex = this.chkIsRegex.Checked;

//得到被選中表的基本信息,并添加到集合中
foreach (int index in this.chkboxTableList.CheckedIndices)
{
string tabName = this.chkboxTableList.Items[index].ToString();
TableInfo tInfo = FilterInfo.initTableInfo(tabName);
if (tInfo == null)
{
continue;
}
tabList.Add(tInfo);
}

try
{
if (tabList.Count == 0) return; //沒有符合檢測的數據表

pBar1.Visible = true;
pBar1.Minimum = 1;
pBar1.Maximum = tabList.Count;
pBar1.Value = 1;
pBar1.Step = 1;

//循環過濾表中要替換的數據
foreach (TableInfo info in tabList)
{
FilterInfo.Execute(info, searchString, replaceString, kt);
pBar1.PerformStep(); //進度條
}
}
catch (Exception ex)
{
MessageBox.Show(string.Format("異常:{0}", ex.Message), "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
finally
{
this.ExecuteFilterBtn.Enabled = true;
}

MessageBox.Show(string.Format("數據替換完畢,共有{0}行數據被修改!",total),"消息", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
#endregion

以上就是整個大致思路,詳情可以參看源代碼。

附帶一些操作截圖,希望大家可以看的更清楚一些。

這個就是被注入的數據,當然實際的會有區別。

編寫查找內容,并啟用正則匹配功能。

哈哈,數據終于恢復原貌!!
源程序下載地址

您可能感興趣的文章:
  • SqlServer中批量替換被插入的木馬記錄
  • sqlserver replace函數 批量替換數據庫中指定字段內指定字符串參考方法
  • 批量替換sqlserver數據庫掛馬字段并防范sql注入攻擊的代碼
  • sqlserver 中ntext字段的批量替換(updatetext的用法)
  • SQL Server中對數據截取替換的方法詳解

標簽:白城 怒江 赤峰 七臺河 金華 酒泉 洛陽 溫州

巨人網絡通訊聲明:本文標題《sqlserver 批量數據替換助手V1.0版發布》,本文關鍵詞  sqlserver,批量,數據,替換,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《sqlserver 批量數據替換助手V1.0版發布》相關的同類信息!
  • 本頁收集關于sqlserver 批量數據替換助手V1.0版發布的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 中文字幕高清有码在线中字| 动漫里做爰全过程免费观看 | 一级乱理中文字幕韩国| 偷窥女厕正面小便| 亚洲三级网址| 日韩欧美久久| 关晓彤被调教出奶水的视频| 精品久久久久久久免费加勒比| 男人操女人b视频| 在线国产播放| 明里つむぎ亚洲一区二区| 丝袜足控免费福利?Xx国产 | 再深点灬舒服灬太大了网站| 男人桶女人桶到爽免费软件| 好深啊太粗好烫撑满了的视频 | 男人靠女人视频30分钟| 国产精品偷伦视频免费观看了软件| 成人番茄社区app| 乌克兰毛片| 中文字日产幕码三区的原理| japanesexxxxhd护士18| 草莓视频污视频| 欧美一级久久久久久久大片动画| 日本吮乳吃奶头XXⅩ视频下载| 亚洲黄色高清视频| 国产精品五月天| 色婷婷一区二区三区久久午夜成人| 激情小视频| 啊…嗯啊好深男男漫画| 杨幂13分20秒未删减在线| 国产3p精品视频一区| 少妇做爰毛片A片成人影院| 黄瓜视频ios下载无限看| 鲤鱼乡双性宫口| 国产理论电影在线观看| 91在线无码精品秘?国产苹果| 深夜福利爽爽爽动态图| 91热在线观看精品| 小鲜肉男男Gay做受XXX红楼| 英语老师的大兔子好软水视频| 一级理论性理论片|