根据文件名中含有的scriptid更新数据库中的对应的Version字段

来源:互联网 发布:淘宝的等级划分 编辑:程序博客网 时间:2024/04/30 03:45

学习笔记<一>


背景:由于现有数据库中的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();                    
                 }
            }           
        }


小女子是个初学者~

望各位大侠多多关照~