学习笔记<一>
背景:由于现有数据库中的Version的值有误,需要重新更新。
思路:遍历数据库脚本所在的文件夹,取到文件名中含有的scriptid,与数据库中的scriptid匹配,更新数据库中的Version
遍历文件夹:
private void loadscriptfolder()
{
string folderName = this.textBoxScriptLocation.Text.Trim();
DirectoryInfo dir = new DirectoryInfo(folderName);
if (dir.Exists)
{
FileSystemInfo[] fs = dir.GetFileSystemInfos();
foreach (FileSystemInfo fs2 in fs)
{
FileInfo file = fs2 as FileInfo;
if (file.Name.Contains('_'))
{
string scriptid = file.Name.Split('_')[1];
if (file != null)
{
VersionUpdate(scriptid);
}
}
}
}
}
更新数据库Version字段:
private void VersionUpdate(string scriptid)
{
string sql = @"
Update dbo.DCM_ScriptsRegistry
SET
[Version] = @Version
WHERE
[ScriptID] = @ScriptID";
string ConnectionString = ConfigurationManager.AppSettings["ConnectionString"];
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
using (SqlCommand command = new SqlCommand(sql, connection))
{
SqlParameter[] parameters = new SqlParameter[]{
new SqlParameter("@Version", comboBoxVersion.SelectedItem.ToString()),
new SqlParameter("@ScriptID",scriptid)
};
foreach (SqlParameter sp in parameters)
{
command.Parameters.Add(sp);
}
connection.Open();
command.ExecuteNonQuery();
}
}
}
小女子是个初学者~
望各位大侠多多关照~